2016-12-07 45 views
1

我正在使用Vagrant + Chef为rails开发配置Ubuntu16.04 vm。我想用Chef安装Bundler(使用rbenv),但由于某种原因,它会失败,并显示以下消息:“来自cookbook rbenv的自定义资源rbenv_gem的未定义方法clear_sources”。配置时使用rbenv安装Bundler gem(Chef + Vagrant)

任何想法?

谢谢!

我Vagrantfile的内容:

Vagrant.configure("2") do |config| 

config.vm.box = "bento/ubuntu-16.04" 

config.vm.network :forwarded_port, guest: 3000, host: 3000 

config.vm.provision :chef_solo do |chef| 
chef.cookbooks_path = ["cookbooks", "site-cookbooks"] 

chef.add_recipe "apt" 
chef.add_recipe "ruby_build" 
chef.add_recipe "rbenv::user" 
chef.add_recipe "rbenv::vagrant" 

chef.json = { 
    rbenv: { 
    user_installs: [{ 
     user: 'vagrant', 
     rubies: ["2.3.1"], 
     global: "2.3.1" , 
     gems: { 
     "2.3.1" => [ 
      { name: "bundler" } 
     ] 
     } 
    }] 
    } 
} 
end 
end 

Cheffile:

site "https://supermarket.getchef.com/api/v1" 

cookbook 'apt' 
cookbook 'build-essential' 
cookbook 'ruby_build', '~> 1.0.0' 
cookbook 'rbenv', git: 'https://github.com/aminin/chef-rbenv' 

回答