RVM、chef、默认ruby

RVM、chef、默认ruby,ruby,rvm,vagrant,chef-infra,Ruby,Rvm,Vagrant,Chef Infra,请告诉我使用安装rvm和默认使用ruby版本的最简单方法。 我的是 巴什福多 cwd "/home/user" code <<-EOH curl -sSL https://get.rvm.io | bash -s stable rvm user gemsets type rvm | head -n 1 EOH end bash-rvm-ruby-do user "root" cwd "

请告诉我使用安装rvm和默认使用ruby版本的最简单方法。 我的是 巴什福多

       cwd "/home/user"
       code <<-EOH
       curl -sSL https://get.rvm.io | bash -s stable
       rvm user gemsets
       type rvm | head -n 1
       EOH
       end
bash-rvm-ruby-do

user "root"
cwd "/home/uesr"
code <<-EOH
echo "export rvm_max_time_flag=20" >> ~/.rvmrc
rvm install 2.1.2
rvm --default use 2.1.2
EOH
结束


请告诉我如何使用它作为默认值。或者给我其他的方法,谢谢

作为回答,因为评论太长了

bash "rvm ruby" do
  user "root"
  cwd "/home/uesr"
  code <<-EOH
    echo "export rvm_max_time_flag=20" >> ~/.rvmrc
    rvm install 2.1.2
    rvm --default use 2.1.2
  EOH
end
你为什么要给一个cwd/家庭/用户我猜这是个打字错误?您将以root用户身份运行,唯一的写入操作将在~/.rvmrc中完成,它对get to/root~有很好的更改,并将扩展到主目录

您试图完成的是为root用户设置ruby env还是更改chef ruby env

您可能有更好的机会使用:

使用此选项更容易

$gem安装图书管理员厨师

$Library厨师长初级

将以下内容添加到生成的Cheffile cookbook'rvm':git=>'git://github.com/fnichol/chef-rvm.git',:ref=>v0.9.2'

流浪插件安装流浪图书管理员厨师

` config.vm.provision:chef_solo do|chef| chef.cookbooks\u path=[cookbooks] ... chef.add_配方“rvm::用户”

结束 `

流浪汉


这将为您的VM提供安装在流浪用户上的RVM。根据需要更改您的用户安装json设置。

我确信我的代码是正确的,但chef不接受代码rvm-默认使用2.1.2,因此我正在寻找另一个版本,以便rvm将其作为默认版本使用。但是使用chefChef时,如果您使用omnibus包安装它,那么就使用它自己的嵌入式ruby版本。在上面使用rvm不会有任何作用,因为chef客户端“二进制”使用嵌入式而不是系统或重写的rvm ruby。谢谢!我应该开始使用厨师库并研究它们以获得更好的结果。
chef.json = {
    rvm: {
        rvmrc: {
            rvm_autolibs_flag: "disabled"
        },
    user_installs: [{
        rubies: ['2.1.2'],
        default_ruby: 'ruby-2.1.2',
        user: 'vagrant',
        code: 'rvm use 2.1.2',
        global_gems: [{name: 'rake'}, {name: 'bundler'}]
    }]
}