2011-10-22 13 views
8

का उपयोग करते हुए उबंटू पर रुबी 1.9.2 इंस्टॉल करना मैं रुबी 1.9.2 के साथ एक नया उबंटू 10.04 बॉक्स प्रावधान करना चाहता हूं। मैं वग्रंट और शेफ सोलो का उपयोग कर रहा हूं ताकि मुझे बाकी सब कुछ के साथ बॉक्स का प्रावधान किया जा सके (जैसे रेल, रेक, मोंगोडीबी)। डिफ़ॉल्ट रूबी संस्करण 1.8.7 है।शेफ और वाग्रेंट

क्या वग्रेंट/शेफ प्रावधान प्रक्रिया के हिस्से के रूप में रूबी 1.9.2 स्थापित करने का कोई तरीका है?

मैं अपने खुद के बूटस्ट्रैप टेम्पलेट का उपयोग कर के बारे में बावर्ची वेबसाइट पर पढ़ा है - संभवतः चाकू के साथ - जैसे this one के रूप में, लेकिन क्योंकि मैं Vagrant उपयोग कर रहा हूँ मुझे यकीन है कि जहां इस टेम्पलेट डाल करने के लिए नहीं कर रहा हूँ - मेरे पास नहीं है एक शेफ-रेपो, एक .chef निर्देशिका या यहां तक ​​कि किसी भी शेफ सामग्री/etc/chef में स्थापित है।

उत्तर

11

सबसे पहले, थोड़ा सा संदर्भ। अधिकांश वग्रेंट बेसबॉक्स शेफ और कठपुतली द्वारा उपयोग के लिए रूबी स्थापित करते हैं, लेकिन नवीनतम लोग इसे सिस्टम पैकेज का उपयोग करने के बजाय/opt/ruby ​​में करते हैं। वे पथ में/ऑप्ट/रूबी/बिन भी जोड़ते हैं, लेकिन अंत में।

यह VeeWee टेम्पलेट दिखाता है कि 10.04 बॉक्स वर्तमान में बनाया गया है: https://github.com/jedi4ever/veewee/blob/master/templates/ubuntu-10.04.3-server-i386/postinstall.sh

अपने प्रश्न का सवाल है, उनके कई अलग अलग संदर्भों आप पता करने के लिए प्रयास कर रहे हों, एक अलग समाधान के साथ प्रत्येक रहे हैं। उम्मीद है कि इनमें से एक वह होगा जो आप खोज रहे हैं।

1.9.2

साथ भागो बावर्ची व्यंजनों आप 1.9.2 के तहत बावर्ची व्यंजनों चल परीक्षण करने के लिए चाहते हो सकता है और आप 1.8.7 अपने बॉक्स के पास कहीं भी नहीं करना चाहती। इस पर पहुंचने का सबसे अच्छा तरीका अपना स्वयं का वीवी टेम्पलेट बनाना और खुद को एक नया बेसबॉक्स बनाना होगा। आप ऊपर लिंक 1.8.7 के बजाय 1.9.2 संकलित करने के लिए एक संशोधित करने और https://github.com/jedi4ever/veewee

पर निर्देशों का पालन रूबी के साथ विकसित कर सकता 1.9.2

शायद अधिक संभावना है कि आप कुछ पर हैक करना चाहते हैं 1.9.2 का उपयोग कर रूबी कोड। इसके लिए आपको रूबी को स्थापित करने की आवश्यकता है और/opt/ruby ​​प्रविष्टि से पहले अपने पथ पर द्विआधारी है।

  • संकलित रूबी अपने आप को खरोंच एक पैकेज
  • उपयोग से: ऐसा करने के कई तरीके हैं। ल्यूसिड में उपयुक्त पैकेज आपको 1.9.2 नहीं देंगे, इसलिए यदि आप चाहें तो आप अपना खुद का रोल कर सकते हैं। या फिर यहाँ एक मैं वर्तमान में RVM http://beginrescueend.com/

ये सब एक बावर्ची नुस्खा का उपयोग कर नियंत्रित किया जा सकता है की तरह उपयोग कर रहा हूँ https://github.com/garethr/packages/downloads

  • कुछ उपयोग है। मैं शायद संकलन विकल्प के लिए नहीं जाऊंगा, या तो सिर्फ एक सीधा डाउनलोड और पैकेज संसाधन छोड़ सकता हूं या निम्नलिखित आरवीएम कुकबुक आरवीएम के लिए http://community.opscode.com/cookbooks/rvm आसान हो सकता है।

    * gem_binary * पैकेज संसाधन पर विकल्प भी उपयोगी यहाँ आप कैसे सुनिश्चित करने के लिए जवाहरात अपने नए 1.9.2 रूबी (बजाय ऑप्ट में 1.8.7)

    के लिए स्थापित करने के लिए चाहते हैं पर निर्भर करता है हो सकता है knife bootstrap का लक्ष्य लक्ष्य प्रणाली पर शेफ स्थापित करना है ताकि यह शेफ क्लाइंट चला सके। Vagrant बेसबॉक्स में पहले से ही शेफ स्थापित है, जब तक कि आप कुछ विशिष्ट नहीं कर रहे हैं और शेफ के कई संस्करणों को चलाने के लिए चाहते हैं, मैं इस मार्ग से बचूंगा। http://vagrantup.com/docs/provisioners/chef_solo.html जैसे शेफ प्रावधानों में निर्मित एक बेहतर शर्त है।

  • +0

    मैं पैकेज विकल्प के लिए चले गए हैं, 1.9.2 पैकेज आप से जुड़ा हुआ का उपयोग कर जोड़ने के लायक था, हालांकि मैं लग रहा था एक निर्भरता खोना (libffi5) तो मुझे इसे भी मेरे नुस्खा में जोड़ना पड़ा। –

    0

    यहाँ नुस्खा मैं रूबी 1.9.2

    package "libffi5" do 
        action :install 
        provider Chef::Provider::Package::Apt 
    end 
    
    package "ruby-1.9.2" do 
        action :install 
        source "/tmp/vagrant-chef/cookbooks-0/ruby-1.9.2/files/default/ruby-1.9.2-p290_i386.deb" 
        provider Chef::Provider::Package::Dpkg 
    end 
    
    2

    स्थापित करने के लिए मुझे पता है सवाल काफी पुरानी है और पहले से ही उत्तर है का उपयोग कर रहा है, लेकिन मुझे आशा है कि यह अभी भी किसी को इस सवाल पर ठोकर के लिए दिलचस्प हो सकता है ।

    मेरे द्वारा बनाए गए एक Github repo जो निर्माण और एक आवारा बॉक्स प्रावधान खरोंच से एक प्रावधान नुस्खा लिखने के लिए की आवश्यकता के बिना के लिए कई विन्यास प्रदान करना चाहता है।

    उदाहरण के लिए, वर्तमान में उपलब्ध कराया गया कॉन्फ़िगरेशन का उपयोग कर, आप के साथ एक बॉक्स का निर्माण और प्रावधान कर सकते हैं:,

    • रूबी 1.9.2-p290 rbenv साथ में कामयाब रहे और जवाहरात
    • के लिए Bundler का उपयोग कर PostgreSQL 8.4
    • MongoDB

    यहां मेरे ब्लॉग पर introduction article है।

    चूंकि यह लगभग अनुरोध मेल खाते हैं, मैं, लगा कि यह इस देर से जवाब :)

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

    • कोई संबंधित समस्या नहीं^_^