Vagrant,Chef,Librarian和ruby_build *没有rbenv *

时间:2014-09-22 15:45:42

标签: ruby vagrant chef

我正在为ruby设置一个默认的vagrant开发环境,我想使用ruby-build,但是没有rbenv,因为在项目特定的vagrant中真的不需要多个ruby版本。

不幸的是,我能找到的所有例子都使用rbenv或rvm或brightbox ppa。我不熟悉大厨+流浪汉让json适合ruby_build食谱,但我知道它一定是简单的我不知道。

这就是我现在所拥有的。它运行良好,ruby-build在路径中,但它没有安装任何红宝石,也没有告诉我是什么问题。

# -*- mode: ruby -*-
# vi: set ft=ruby :

VAGRANTFILE_API_VERSION = '2'

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = 'ubuntu/trusty64'

  # Configurate the virtual machine to use 1GB of RAM
  config.vm.provider :virtualbox do |vb|
    vb.customize ['modifyvm', :id, '--memory', '1024']
  end

  # Forward the Rails server default port to the host
  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 'nodejs'
    chef.add_recipe 'ruby_build'
    chef.add_recipe 'vim'
    chef.add_recipe 'postgresql::server'
    chef.add_recipe 'postgresql::client'
    chef.add_recipe 'postgresql::contrib'

    chef.json = {
      ruby_build: {
        upgrade: true,
        install: {
          definition: '2.1.2'
        }
      },
      postgresql: {
        password: {
          postgres: ''
        }
      }
    }
  end
end

1 个答案:

答案 0 :(得分:1)

ruby_build::default食谱仅设置所需的预先要求。您需要制作依赖于ruby_build的自己的包装器食谱并使用ruby_build_ruby LWRP。请参阅链接自述文件以获取该示例。