RVM,厨师,默认红宝石

时间:2014-09-18 01:45:06

标签: ruby rvm vagrant chef

请告诉我使用安装rvm的最简单方法,并使用ruby版本作为默认值。 我的是 bash" foo"做

       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&#34; rvm ruby​​&#34;做

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

请告诉我如何将其用作默认值。或者给我其他方法来做到这一点,谢谢!

2 个答案:

答案 0 :(得分:0)

作为答案,因为评论时间太长

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 / home / user(我会在这里假设它的错字)?你将以root身份运行,唯一的写入将在〜/ .rvmrc中完成,对/ root(〜将扩展到主目录)有很好的改动。

你试图完成的是不清楚的(为root设置ruby env或更改主厨ruby env?)

您可能有更好的机会:https://supermarket.getchef.com/cookbooks/rvm

答案 1 :(得分:0)

使用librarian-chef这更容易。

  1. $ gem install librarian-chef

  2. $ librarian-chef init

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

  4. vagrant plugin install vagrant-librarian-chef

  5. ` config.vm.provision:chef_solo do | chef |     chef.cookbooks_path = [&#34; cookbooks&#34;]     ...     chef.add_recipe&#39; rvm :: user&#39;     ...

    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'}]
        }]
    }
    

    端 `

  6. vagrant up

  7. 这应该为您的VM配置在vagrant用户上安装的RVM。根据需要更改用户安装json设置。