2010-08-12 19 views
27

मैं दोनों रूबी के लिए और मैक OSX के लिए नया हूँ, हालांकि मैं यूनिक्स कमांड के साथ अनुभव भी पर्याप्त मात्रा में है। मैंने बस मैकपोर्ट्स कमांड के माध्यम से रुबी 1.9 स्थापित किया (बंदरगाह स्थापित ruby19)। /opt/local/var/macports/software/ruby19/1.9.1-p376_0/opt/local/bin/ruby1: मैं तो बस जहां यह चला गया है, जो निकला होना करने के लिए यह पता लगाने की जड़ से एक मिल रहा है की जरूरत है। 9।रूबी पर मैक OSX मैक बंदरगाहों के माध्यम से

रूबी के वर्तमान संस्करण (1.8.6) के माध्यम से/usr/bin/गहरे लाल रंग का है, जो /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby जहां के लिए एक प्रतीकात्मक कड़ी है चलाता है वर्तमान 1.8 नामक निर्देशिका के लिए एक प्रतीकात्मक लिंक है।

मैं रूबी 1.9 मेरा डिफ़ॉल्ट (आईआरबी जैसे संबंधित उपकरणों के साथ) बनाना चाहता हूं, और जब मैं ऐसा करने में सक्षम हूं, तो मैं जानना चाहता हूं कि पारंपरिक तरीका है या नहीं। क्या मुझे मैकपॉर्ट्स पथ को /System/Library/Frameworks/Ruby.framework/Versions/1.9 पर कॉपी या लिंक करना चाहिए और फिर वर्तमान को 1.9 पर इंगित करना चाहिए? (मैं भी नाम बदलने या निष्पादनयोग्य नकल होगा:, आईआरबी को irb1.9 ruby1.9 रूबी के लिए, आदि) या मैं बस/usr/bin/गहरे लाल रंग का लिंक दूर उड़ा चाहिए (और/usr/bin/आईआरबी, आदि) और MacPorts संस्करण को इंगित करने वाले नए बनाते हैं?

+1

आप चाहिए * नहीं * सिस्टम की रूबी (या पर्ल या पायथन) को हटाएं (या स्पर्श करें, स्पष्ट रूप से)। ठीक वैसे ही छोड़ दो। सिस्टम यह उम्मीद करता है कि यह वहां होगा, और आपके पास पहले से जानने का कोई तरीका नहीं है कि कितनी (या कौन सी) चीजें इस पर निर्भर करती हैं। इस मामले में, 'आरवीएम' एकाधिक रूबी दुभाषियों को प्रबंधित करने के लिए एक उत्कृष्ट उपकरण है, लेकिन "डिफ़ॉल्ट हटाएं" से हमेशा * बेहतर * होता है। – Telemachus

+0

सभी आरवीएम सुझाव स्ट्रॉ पुरुषों का एक अच्छा उदाहरण हैं। विशेष रूप से, आप कहीं भी एक प्रणाली रूबी, एक रूबी चाहते हैं। आप रूबी 1.9 के लिए/ऑप्ट/स्थानीय/बिन/रूबी चाहते हैं। अब, यूनिक्स इस के लिए $ PATH चर प्रदान करता है,/usr/bin/$ {ruby binaries} को यह मानने के लिए नहीं देखा जाएगा कि आप अपना रास्ता सही तरीके से सेट करते हैं, जो आपको लगता है। आरवीएम एक अच्छा उपकरण है, जब तक आप डिफ़ॉल्ट रूप से रूबी का उपयोग नहीं करना चाहते हैं। – chiggsy

+1

पोर्ट स्थापित ruby19 + nosuffix, btw;) – chiggsy

उत्तर

23

मेरी सलाह:

$ port uninstall ruby1.9 

फिर इस का पालन करें: https://rvm.io/rvm/install/

तब:

$ rvm install 1.9.2 
$ rvm --default 1.9.2 

आप हो सकता है यहां तक ​​कि rvm install macruby कोको के साथ खिलौना करने के लिए।

+0

यहां +1, और अन्य पैकेज प्रबंधन के लिए चेकआउट होमब्रू http://github.com/mxcl/homebrew –

+0

धन्यवाद! आरवीएम एक प्रतिबद्धता की तरह लगता है, लेकिन संभवतः प्रयास के लायक है। –

+1

आरवीएम में विकल्पों का एक गुच्छा है, लेकिन स्टार्टर्स के लिए, आप केवल इन तीनों के साथ प्राप्त कर सकते हैं: 'आरवीएम इंस्टॉल' एक नया रूबी पाने के लिए, 'आरवीएम उपयोग' संस्करणों को स्विच करने के लिए, और एक बार थोड़ी देर में 'आरवीएम अपडेट' प्राप्त करने के लिए नई चीजें जब भी आपको इसकी आवश्यकता होती है, तो बाकी सब कुछ आप अपने अवकाश में सीख सकते हैं (जैसे मल्टीविजन परीक्षण)। – Amadan

4

मैं अत्यधिकRVM की सिफारिश करता हूं। यह पढ़ने का एक सा लगता है, लेकिन यह आप rvm install 1.9 (या JRuby, ree, 1.8, आदि) के साथ एक गहरे लाल रंग का स्थापित कर सकते हैं, और rvm 1.9 साथ उनके बीच स्विच स्थापित एक बार आप की है। प्रत्येक रूबी संस्करण में स्वयं का, पूरी तरह से rubygems के सेट सेट होगा।

26

बजाय nosuffix संस्करण स्थापित करें:

sudo port install ruby19 +nosuffix 

आपका नए गहरे लाल रंग का संस्करण अब पूर्वस्थापित एक पर पूर्वता लेना चाहिए।

+2

धन्यवाद, यह बहुत उपयोगी है। मुझे वह विकल्प नहीं मिला। –

2

ruby1.9 द्विआधारी /opt/local/bin में स्थापित किया जाना चाहिए; यदि ऐसा नहीं है, तो हो सकता है कि आपने बंदरगाह को सक्रिय नहीं किया हो।

रुबी 1.9 बनाने का सबसे आसान तरीका डिफ़ॉल्ट रूट ruby से ruby1.9 के लिए उपनाम बनाना है। आप बैश का उपयोग कर रहे हैं, तो आप ऐसा कर सकते हैं अपने बैश कॉन्फ़िग फ़ाइल में इस डालकर: macports (2.1.3 या अधिक) आप port select आदेश का उपयोग कर सकते हैं के नवीनतम संस्करण में

alias ruby='/opt/local/bin/ruby1.9' 
+0

इसे इंगित करने के लिए धन्यवाद। मेरे पास /opt/local/bin/ruby1.9 है। मैं शायद इसे उपनाम के बजाय एक प्रतीकात्मक लिंक के साथ सक्षम करूंगा, लेकिन कोई भी तरीका काम करेगा। –

+0

यह शायद पर्याप्त नहीं है। आपको लिंक, मणि, rdoc और फ़ाइलों की एक श्रृंखला जो ruby1.9 के साथ आना चाहिए। अपने सिस्टम को साफ रखने का सबसे अच्छा समाधान आरवीएम का उपयोग कर रहा है। सिस्टम या यहां तक ​​कि मैकपोर्ट रूबी का उपयोग रूबी समर्थन के साथ यानी vim संकलन के लिए किया जा सकता है। –

16

port select --list ruby 
sudo port select --set ruby ruby19 

मैकपोर्ट के पुराने संस्करणों के लिए आप क्रमांकित रूबी संस्करण के लिए एक प्रतीकात्मक लिंक बना सकते हैं। इस तरह मैकपोर्ट आम तौर पर पैकेज के विभिन्न संस्करणों के बीच स्विचिंग को संभालता है।

cd /opt/local/bin 
sudo ln -s ruby1.9 ruby 
28

मैकपॉर्ट्स 2.1 के तहत आप पोर्ट चयन कमांड का उपयोग करना आसान कर सकते हैं।3

$sudo port select --set ruby ruby19 
+4

यह स्पष्ट रूप से "उचित" मैकपॉर्ट्स है, इसे अभी करने के लिए '+ nosuffix' – beporter

+0

हाँ, ruby20 के साथ भी काम करता है! – TCSGrad

2

स्थापना रद्द गहरे लाल रंग का संस्करण 1.8:
sudo बंदरगाह की स्थापना रद्द करें माणिक
गहरे लाल रंग का संस्करण 1.9 स्थापित करें:
sudo बंदरगाह स्थापित ruby19
को फिर से खोलें टर्मिनल

+0

सुनिश्चित नहीं है कि टर्मिनल को फिर से खोलना आवश्यक है। –