RVM安装,但没有与Chef-solo和Vagrant的Rubies?

时间:2014-05-22 19:02:11

标签: vagrant chef chef-solo berkshelf

我正在使用Chef-solo,Berkshelf和Vagrant来尝试构建开发环境。我有其他食谱可以使用,但'chef-rvm'食谱给我带来了安装ruby版本的麻烦。

要清楚,RVM 正在安装,但当我' vagrant ssh '进入vbox并输入' rvm list '时,它会说没有安装红宝石。我可以输入' rvm install 2.1.1 '并且它可以工作,所以我不确定为什么Chef没有安装它。

Vagrantfile:

config.vm.provision :chef_solo do |chef|
  chef.run_list = %w[
    recipe[apt::default]
    recipe[rvm::user_install]
    recipe[rvm::vagrant]
  ]
end

食谱/ default.rb:

include_recipe 'apt'
include_recipe 'rvm::user_install'

属性/ default.rb:

    node.set['rvm']['user_installs'] = [
    { 'user'            => 'vagrant',
      'upgrade'         => 'head',
      'default_ruby'    => '2.1.1',
      'rvm_gem_options' => '',
      'rubies' => ['2.1.1', '2.0.0-p481'],
      'global_gems'     => [
          { 'name'    => 'bundler',
            'version' => '1.6.2'
          },
          { 'name'    => 'rake' },
          { 'name'    => 'rails' },
          { 'name'    => 'rubygems-bundler',
            'action'  => 'remove'
          }
      ]
    }
]

1 个答案:

答案 0 :(得分:1)

我认为这应该是默认操作,但我遇到了和你一样的问题。 我的解决方案是在json配置中包含“ install_ruby ”属性:

node.set['rvm']['user_installs'] = [
    { 'user'            => 'vagrant',
       install_rubies: true,
       ...
    }
]