2011-08-06 12 views
12

पर डिफ़ॉल्ट संस्करण के रूप में ruby1.9.1 को सेट करने के लिए कैसे मैं अपने ओएस के रूप में डेबियन निचोड़ का उपयोग कर रहा हूं और रेल परियोजनाओं पर रूबी विकसित करने की कोशिश कर रहा हूं। इसके लिए मैंने पहले कुछ रूबी पैकेज स्थापित किए।डेबीन निचोड़

मेरे गहरे लाल रंग का संस्करण हैं: ruby1.8, ruby1.9.1

तब मैं ruby1.8 ruby1.9.1 मेरा डिफ़ॉल्ट गहरे लाल रंग का बनाने के लिए की स्थापना रद्द।

अब अगर मैं चलाएँ:

$ which ruby 

यह कुछ भी नहीं प्रदर्शित करता है।

अगर मैं चलाएँ:

$ which ruby1.9.1 
/usr/bin/ruby1.9.1 
हालांकि

:

$ rails new testApp 
bash: /usr/bin/rails: /usr/bin/ruby1.8: bad interpreter: No such file or directory 

मैं क्या करना है पता नहीं है। कृपया मेरा मार्ग दर्शन कीजिए।

+0

यह प्रश्न देखें: http://stackoverflow.com/questions/1892877/how-do-i-make-ruby-1-9-the-default-ruby-on-ubuntu – weakish

उत्तर

1

हालांकि मेरे पास आपके प्रश्न का सीधा जवाब नहीं है, मेरा सुझाव है कि आप अद्भुत आरवीएम (रूबी संस्करण प्रबंधक) टूल (http://beginrescueend.com/) के साथ प्रयास करें। जब मैं उबंटू पर रूबी के साथ खेलने की कोशिश करता हूं तो यह मेरी ज़िंदगी को बहुत आसान बनाता है।

+0

आपकी प्रतिक्रिया के लिए धन्यवाद, मैंने कोशिश की जब भी मैं ** bash चलाता हूं <<(curl -s https://rvm.beginrescueend.com/install/rvm)** मुझे ** त्रुटि मिली: आरवीएम रिपोजिटरी क्लोन करने में असमर्थ, दोनों गिट: // और https का प्रयास किया : // ** – Arivarasan

+0

सुनिश्चित करें कि आप फ़ायरवॉल के पीछे नहीं हैं, और पहले गिट स्थापित भी है। इंस्टॉलेशन बूटस्ट्रैप स्क्रिप्ट संसाधनों की जांच नहीं कर सकती है। Google इस पर आपका सबसे अच्छा दोस्त होगा। –

+1

नोट: आरवीएम ने अपनी इंस्टॉल प्रक्रिया बदल दी है, हमेशा नवीनतम जांचने के लिए https://rvm.io/ पर जाएं। – ocodo

9

मुझे अपने निचोड़ बक्से पर कर डिफ़ॉल्ट के रूप में गहरे लाल रंग का 1.9 प्राप्त करने के लिए:

cd /usr/bin 
ln -sf ruby1.9.1 ruby 
ln -sf gem1.9.1 gem 
ln -sf erb1.9.1 erb 
ln -sf irb1.9.1 irb 
ln -sf rake1.9.1 rake 
ln -sf rdoc1.9.1 rdoc 
ln -sf testrb1.9.1 testrb 

मैं रेल उत्पादन सर्वर इस तरह से और अन्य सभी डेबियन माणिक संकुल टूट नहीं कर रहे हैं का एक बहुत चलाने क्योंकि वे/usr पर रिले /bin/ruby1.8 बाइनरी।

यह "सही डेबियन तरीका" नहीं है लेकिन किसी कारण से update-alternatives निचोड़ में रूबी को कॉन्फ़िगर करने में सहायता नहीं करता है।

उबंटू 11.10 में आप सिर्फ update-alternatives --config ruby चलाने के लिए और वांछित संस्करण

चयनित कर सकते हैं मैं आपको यह भी rubygems अद्यतन करने के लिए इससे पहले कि आप किसी भी रत्न REALLY_GEM_UPDATE_SYSTEM=true gem update --system

12

डेबियन निचोड़ के लिए (6.0) को स्थापित करने से शुरू की सिफारिश:

पहले सभी ruby ​​और ruby1.8 संकुल को अनइंस्टॉल करना सुनिश्चित करें। अन्यथा वे रूबी 1.9 के लिए स्थापित होने वाली बाइनरी/लिंक में हस्तक्षेप करेंगे।

फिर रूबी 1.9 पैकेज स्थापित करें। इस तथ्य के बावजूद कि इन पैकेजों को '1.9.1' नाम दिया गया है, वे वास्तव में डेबियन निचोड़ पर रूबी संस्करण 1.9.2 स्थापित करते हैं। आभासी पैकेज ruby1.9.1-full माणिक के लिए सभी आवश्यक संकुल स्थापित हो जाएगा:

sudo aptitude install ruby1.9.1-full 

री और ri1.9.1 पैकेज में मैनपेज के लिए वैकल्पिक लिंक जोड़ें। (इन दो पंक्तियों को सब एक आदेश कर रहे हैं।)

sudo update-alternatives --install /usr/bin/ri ri /usr/bin/ri1.9.1 10 \ 
--slave /usr/share/man/man1/ri.1.gz ri.1.gz /usr/share/man/man1/ri1.9.1.1.gz 

ruby1.9.1 पैकेज में माणिक के लिए वैकल्पिक लिंक, जुड़े बाइनरी, और manpages जोड़ें। (ये लाइनें सभी एक कमांड हैं।)

sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.9.1 10 \ 
--slave /usr/share/man/man1/ruby.1.gz ruby.1.gz /usr/share/man/man1/ruby1.9.1.1.gz \ 
--slave /usr/bin/erb erb /usr/bin/erb1.9.1 \ 
--slave /usr/bin/gem gem /usr/bin/gem1.9.1 \ 
--slave /usr/bin/irb irb /usr/bin/irb1.9.1 \ 
--slave /usr/bin/rake rake /usr/bin/rake1.9.1 \ 
--slave /usr/bin/rdoc rdoc /usr/bin/rdoc1.9.1 \ 
--slave /usr/bin/testrb testrb /usr/bin/testrb1.9.1 \ 
--slave /usr/share/man/man1/erb.1.gz erb.1.gz /usr/share/man/man1/erb1.9.1.1.gz \ 
--slave /usr/share/man/man1/gem.1.gz gem.1.gz /usr/share/man/man1/gem1.9.1.1.gz \ 
--slave /usr/share/man/man1/irb.1.gz irb.1.gz /usr/share/man/man1/irb1.9.1.1.gz \ 
--slave /usr/share/man/man1/rake.1.gz rake.1.gz /usr/share/man/man1/rake1.9.1.1.gz \ 
--slave /usr/share/man/man1/rdoc.1.gz rdoc.1.gz /usr/share/man/man1/rdoc1.9.1.1.gz \ 
--slave /usr/share/man/man1/testrb.1.gz testrb.1.gz /usr/share/man/man1/testrb1.9.1.1.gz 

नोट है कि इन सभी 10 के एक कम विकल्प प्राथमिकता (--install ध्वज के बाद अंतिम भाग में स्थापित कर रहे हैं लेकिन --slave झंडे से पहले)। यह उम्मीद में किया जाता है कि डेबियन के भविष्य के संस्करणों में विकल्प प्रणाली के हिस्से के रूप में रूबी 1.8 और रूबी 1.9 दोनों शामिल होंगे और इन लिंक को ओवरराइड करेंगे। विकल्प प्रणाली में

चेक री:

update-alternatives --display ri 

परिणाम: विकल्प प्रणाली में

ri - auto mode 
link currently points to /usr/bin/ri1.9.1 
/usr/bin/ri1.9.1 - priority 10 
slave ri.1.gz: /usr/share/man/man1/ri1.9.1.1.gz 
Current 'best' version is '/usr/bin/ri1.9.1'. 

चेक माणिक:

update-alternatives --display ruby 

परिणाम:

ruby - auto mode 
link currently points to /usr/bin/ruby1.9.1 
/usr/bin/ruby1.9.1 - priority 10 
slave erb: /usr/bin/erb1.9.1 
slave erb.1.gz: /usr/share/man/man1/erb1.9.1.1.gz 
slave gem: /usr/bin/gem1.9.1 
slave gem.1.gz: /usr/share/man/man1/gem1.9.1.1.gz 
slave irb: /usr/bin/irb1.9.1 
slave irb.1.gz: /usr/share/man/man1/irb1.9.1.1.gz 
slave rake: /usr/bin/rake1.9.1 
slave rake.1.gz: /usr/share/man/man1/rake1.9.1.1.gz 
slave rdoc: /usr/bin/rdoc1.9.1 
slave rdoc.1.gz: /usr/share/man/man1/rdoc1.9.1.1.gz 
slave ruby.1.gz: /usr/share/man/man1/ruby1.9.1.1.gz 
slave testrb: /usr/bin/testrb1.9.1 
slave testrb.1.gz: /usr/share/man/man1/testrb1.9.1.1.gz 
Current 'best' version is '/usr/bin/ruby1.9.1'. 
+0

मुझे वैकल्पिक 'अद्यतन-विकल्प स्थापित करने में निम्न त्रुटि मिलती है: त्रुटि: वैकल्पिक मणि रूबी का दास नहीं हो सकता है: यह एक मास्टर विकल्प है। –

+0

डेबियन का यह संस्करण क्या था? उपरोक्त आदेश विशेष रूप से निचोड़ (6.x) के लिए थे। शायद rubygems1.8 पैकेज या अन्य रूबी 1.8 पैकेजों में से एक कॉन्फ़िगर किया गया था। क्या वे पैकेज और उनकी कॉन्फ़िगरेशन पूरी तरह से शुद्ध हो गए थे? – finn

+0

मुझे चरण * 1 * याद आया जो रूबी को हटा रहा था 1.8 संस्करणों के बीच स्विच करने के लिए एक तरीका की उम्मीद कर रहा था। मैं बुलेट काट दूंगा और यद्यपि अपग्रेड करूंगा। –

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