2013-06-03 14 views
5

Hej wszystkim próbuję zbudować vm vag. używam solo szefa kuchni do obsługi administracyjnej i chef-rbenv do zarządzania moimi wersjami. tak w vagrantfile określićWłamywacz używający domyślnie Ruby 1.9.3

config.vm.provision :chef_solo do |chef| 
    chef.cookbooks_path = "cookbooks" 
    chef.add_recipe "ruby_build" 
    chef.add_recipe "rbenv::system" 
    chef.add_recipe "rbenv::vagrant" 
    ... 

    chef.json = { 
    "rbenv" => { 
     "rubies" => [ "1.9.3-p327" ], 
     "global" => "1.9.3-p327", 
     "gems" => { 
     "1.9.3-p327" => [ 
     { "name" => "bundler" } 
     ] 
     } 
    } 
    } 
end 

tak, że wersja domyślna rubin będzie 1.9.3-p327, ale wywala

Error executing action `install` on resource 'rbenv_ruby[1.9.3-p327] (system)' 

a jeśli dont określić wersję w pliku włóczęga (jak patrz wyżej), i idź z domyślnym rbenv, że szef kuchni buduje tak, że mogę zainstalować go, gdy jestem w VM. Potem się to

[email protected]:/vagrant$ rbenv install 1.9.3-p327 
Downloading yaml-0.1.4.tar.gz... 
-> http://dqw8nmjcqpjn7.cloudfront.net/36c852831d02cf90508c29852361d01b 
Installing yaml-0.1.4... 

BUILD FAILED 
... 

to działa gdy uruchamiam sudo rbenv install 1.9.3-p327 ale wtedy, gdy uruchomiony coś muszę poprzedzić je sudo nawet ruby -v

[email protected]:~$ ruby -v 
ruby 1.8.7 (2012-02-08 patchlevel 358) [x86_64-linux] 
[email protected]:~$ sudo ruby -v 
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-darwin12.3.0] 

jak mogę je z zainstalowanym Chef-Solo. Próbowałem przez cały tydzień i nie mogłem w ogóle działać.

Odpowiedz

4

Json wymaga określenia dla szefa kuchni lokalizacji rbenv, do której instalowany jest rubin. ponieważ receptury wywołują, że instalujesz rbenv na poziomie systemu, a następnie lvl użytkownika w tym przypadku vagrant.

chef.add_recipe "rbenv::system" 
chef.add_recipe "rbenv::vagrant" 

więc poszedłem i zmienił json do tego:

chef.json = { 
    'rbenv' => { 
    'user_installs' => [ 
     { 
     'user' => 'vagrant', 
     'rubies' => ['1.9.3-p327'], 
     'global' => '1.9.3-p327', 
     'gems' => { 
      '1.9.3-p327' => [ 
      { 'name' => 'bundler' }, 
      { 'name' => 'rake' } 
      ] 
     } 
     } 
    ] 
    } 
} 

Również obecny rbenv Cookbook często ma błędów, więc jej dobre odwołać ostatnią TAG, wersję książki kucharskiej w cheffile.

cookbook 'rbenv', git: 'git://github.com/fnichol/chef-rbenv.git', ref: "v0.7.2" 

jak.

Powiązane problemy