使用Chef和Vagrant在Ubuntu上安装Ruby 1.9.2

我想用 Ruby 1.9.2配置一个新的Ubuntu 10.04盒子.我正在使用Vagrant和Chef Solo为盒子提供我需要的一切(例如Rails,Rake,MongoDB).认的Ruby版本是1.8.7.

有没有办法安装Ruby 1.9.2作为Vagrant / Chef配置过程的一部分?

我在Chef网站上读到了关于使用我自己的bootstrap模板 – 可能是用刀 – 比如this one,但因为我使用的是Vagrant我不知道在哪里放这个模板 – 我没有厨师回购,.chef目录,甚至是/ etc / chef中安装的任何Chef东西.

首先,一点背景.大多数Vagrant baseBox都安装了Ruby供Ch​​ef和Puppet使用,但是最新的基本框是在/ opt / ruby​​中使用而不是使用系统包.他们还将/ opt / ruby​​ / bin添加到路径中,但最后添加.

此VeeWee模板显示当前如何构建10.04框:https://github.com/jedi4ever/veewee/blob/master/templates/ubuntu-10.04.3-server-i386/postinstall.sh

至于你的问题,它们可能是你试图解决的几个不同的背景,每个都有不同的解决方案.希望其中一个将是您正在寻找的.

使用1.9.2运行Chef配方

您可能想要在1.9.2下测试正在运行的Chef配方,并且您不希望1.8.7在您的盒子附近的任何地方.解决这个问题的最佳方法是创建自己的VeeWee模板并为自己构建一个新的baseBox.您可以修改上面链接的那个以编译1.9.2而不是1.8.7并按照https://github.com/jedi4ever/veewee上的说明进行操作

使用Ruby 1.9.2开发

可能更有可能的是你想使用1.9.2破解一些Ruby代码.为此,您只需安装Ruby并在/ opt / ruby​​条目之前在路径上包含二进制文件.有几种方法可以做到这一点:

>自己从头开始编译Ruby
>使用包裹. lucid中的apt软件包不会给你1.9.2,所以如果你愿意,你可以自己动手.或者这是我目前使用的https://github.com/garethr/packages/downloads
>使用像RVM http://beginrescueend.com/这样的东西

所有这些都可以使用Chef配方进行管理.我可能不会选择编译选项,只留下直接的下载和包资源,或者下面的RVM cookbook对于RVM来说可能很方便http://community.opscode.com/cookbooks/rvm.

包资源上的* gem_binary *选项在这里也可能有用,具体取决于您希望如何确保为新的1.9.2 Ruby安装gem(而不是1.8.7 in opt)

刀具引导的目标是将Chef安装在目标系统上,以便它可以运行Chef Client. Vagrant baseBoxs往往已经安装了Chef,所以除非你正在做一些特定的事情,并且想要运行多个版本的Chef,否则我会避开这条路线.像http://vagrantup.com/docs/provisioners/chef_solo.html这样的内置厨师供应商是更好的选择.

相关文章

目录前言一、创建Hadoop用户二、更新apt和安装Vim编辑器三、...
原文连接:https://www.cnblogs.com/yasmi/p/5192694.html ...
电脑重启后,打开VirtualBox,发现一直用的虚拟机莫名的消失...
参见:https://blog.csdn.net/weixin_38883338/article/deta...
Ubuntu 18.04 LTS 已切换到 Netplan 来配置网络接口。Netpla...
介绍每个 Web 服务都可以通过特定的 URL 在 Internet 上访问...