2013-06-03 12 views
5

के रूप में Vagrant हे सब मैं एक योनि बनाम बनाने की कोशिश कर रहा हूँ। मैं अपने संस्करणों को प्रबंधित करने के लिए प्रावधान और chef-rbenv के लिए शेफ-एकल का उपयोग कर रहा हूं। इसलिए vagrantfile में इतना है कि डिफ़ॉल्ट रूबी संस्करण 1.9.3-p327 हो जाएगा मैंरूबी 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 

निर्दिष्ट करते हैं, लेकिन यह

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

दुर्घटनाओं और अगर मैं न आवारा फ़ाइल में संस्करण निर्दिष्ट (के रूप में ऊपर देखा गया), और शेफ बनाता है कि डिफ़ॉल्ट rbenv के साथ जाओ ताकि मैं इसे वीएम में एक बार स्थापित कर सकूं। जब मैं sudo rbenv install 1.9.3-p327 चलाने लेकिन तब जब कुछ भी चल रहा है मैं sudo भी 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] 

यह कैसे बावर्ची-एकल के साथ स्थापित मैं प्राप्त कर सकते हैं अवश्य लगा दें करने के लिए है तो मैं इस

[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 
... 

यह काम करता है मिलता है। मैंने पूरे सप्ताह कोशिश की है और इसे बिल्कुल काम नहीं कर सकता।

उत्तर

4

जेसन आपको आरबीएनवी स्थान के शेफ के लिए निर्दिष्ट करने की आवश्यकता है जो आपके इंस्टॉलेशन को रूबी करता है। चूंकि रेसिपी कॉल करते हैं कि आप सिस्टम स्तर पर आरबीएनवी स्थापित करते हैं और फिर इस मामले में उपयोगकर्ता एलवीएल आवंटित करते हैं।

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

तो मैं चला गया और यह करने के लिए json बदल दिया है:

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

इसके अलावा वर्तमान rbenv रसोई की किताब अक्सर कीड़े है cheffile में रसोई की किताब के नवीनतम संस्करण taged संदर्भ के लिए अपने अच्छे तो।

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

ऐसा ही।

संबंधित मुद्दे