2014-05-22 2 views
0

J'utilise Chef-solo, Berkshelf et Vagrant pour essayer de construire un environnement de développement. J'ai d'autres recettes qui fonctionnent, mais le livre de cuisine 'chef-rvm' me pose des problèmes pour obtenir une version de ruby ​​installé.Installation de RVM mais pas de Rubis avec Chef-solo et Vagabond?

Pour être clair, RVM est installation mais quand je ssh errante 'dans le Vbox et le type « liste RVM » il dit qu'il n'y a pas de rubis installés. Je peux taper 'rvm install 2.1.1' et cela fonctionne donc je ne sais pas pourquoi Chef ne l'installe pas.

Vagrantfile:

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

recettes/default.rb:

include_recipe 'apt' 
include_recipe 'rvm::user_install' 

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

Répondre

1

Je pensais que ce devrait être l'action par défaut, mais je avoir le même problème que toi. Ma solution a été d'inclure le "install_ruby" propriété dans la configuration JSON:

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

Merci. J'avais des erreurs de formatage et cela m'a remis sur la bonne voie. – germs12