मैक पर 1.9.x पर रूबी को कैसे अपडेट करें?


107

मैंने अपने मैक पर एक नया उपयोगकर्ता खाता बनाया है और मैं 1.8.7 के स्नो लेपर्ड डिफ़ॉल्ट से उस पर (1.9.2) रूबी के वर्तमान संस्करण को अपडेट करने की कोशिश कर रहा हूं। क्या कोई मुझे ट्यूटोरियल की ओर इशारा कर सकता है या मेरे मैक पर रूबी को 1.8 से 1.9.2 तक अपडेट करने की सबसे अच्छी विधि बता सकता है? धन्यवाद

जवाबों:


66

मैं rvm के लिए एक मजबूत सुझाव दूंगा ।

यह सिस्टम संस्करण से टकराने के बिना कई Rubies और जवाहरात सेट का प्रबंधन करने का एक शानदार तरीका है।


अब मैं (4/2/2013) जोड़ूंगा, मैं rbenv का उपयोग करता हूं , क्योंकि मेरी जरूरतें सरल हैं। आरवीएम महान है, लेकिन इसकी बहुत अधिक क्षमता है, जिसकी मुझे कभी आवश्यकता नहीं है, इसलिए मेरे पास यह कुछ मशीनों पर है और मेरे डेस्कटॉप और लैपटॉप पर rbenv है। यह दोनों की जाँच करने और देखने के लायक है जो आपकी आवश्यकताओं के लिए सबसे अच्छा काम करता है।


माना। और यहां तक ​​कि अगर कई संस्करण एक मुद्दा नहीं हैं (हा!) आरवीएम यह पता लगाने के लिए महान है कि कौन से देशी पुस्तकालय गायब हैं। बहुत ज्यादा अपरिहार्य है।
इसहाक राबिनोविच 18

198

जैसा कि टिन मैन सुझाव देता है (ऊपर) RVM ( रूबी संस्करण प्रबंधक ) OSX पर आपके रूबी इंस्टॉलेशन को अपग्रेड करने के लिए मानक है : https://rvm.io

आरंभ करने के लिए, एक टर्मिनल विंडो खोलें और निम्नलिखित कमांड जारी करें:

\curl -L https://get.rvm.io | bash -s stable --ruby

(आपको आरवीएम देव टीम पर भरोसा करने की आवश्यकता होगी कि कमांड दुर्भावनापूर्ण नहीं है - यदि आप मेरी तरह एक पागल पेंगुइन हैं, तो आप हमेशा स्रोत पढ़ सकते हैं : https://github.com/wayneeseguin/rvm ) जब आप पूरा कर लें आप टर्मिनल को पुनः आरंभ करने की जरूरत है पाने के लिए rvmआदेश काम कर रहे।

rvm list known

( रूबी के नवीनतम उपलब्ध संस्करणों को दिखाता है )

rvm install ruby-2.3.1

एक विशिष्ट संस्करण के लिए, उसके बाद

rvm use ruby-2.3.1

या यदि आप नवीनतम (वर्तमान) संस्करण चाहते हैं:

rvm install current && rvm use current

(वर्तमान स्थिर रिलीज को स्थापित करता है - रूबी-2.3.1 लिखने के समय - कृपया इस विकी को अपडेट करें जब नए संस्करण जारी किए जाते हैं)

संकलन रूबी पर ध्यान दें : मेरे मामले में मैं भी था स्थापित करने के लिए Homebrew http://mxcl.github.com/homebrew/ प्राप्त करने के लिए जवाहरात मैं जरूरत ( RSpec बारी बलों में आप स्थापित करने के लिए जो) Xcode (यदि आप पहले से नहीं है ) https://itunes.apple.com/us/app/xcode/id497799835 और / या GCC पैकेज को इनस्टॉल करें: https://github.com/kennethreitz/osx-gcc-installer "रन बनाने में त्रुटियों से बचने के लिए" " ।

संपादित करें: Mavericks के रूप में आप पूरे Xcode पैकेज के बजाय केवल Xcode कमांड लाइन टूल इंस्टॉल करना चुन सकते हैं, जो कि gcc और बहुत सी अन्य चीजों के साथ आता है जिन्हें आपको पैकेज बनाने की आवश्यकता हो सकती है। इसे xcode-select --installऑन-स्क्रीन प्रॉम्प्ट पर चलाकर और स्थापित करके स्थापित किया जा सकता है ।

इरोस पर ध्यान दें : यदि आपको इस कमांड की कोशिश करते समय " आरवीएम एक फ़ंक्शन नहीं है " त्रुटि मिलती है , तो देखें: मैं आरवीएम का उपयोग करके अपने रूबी संस्करण को कैसे बदलूं? समाधान के लिए।


माउंटेन लायन पर यह सब स्थापित करने में बहुत धैर्य लगता है। यदि आप एक एरर "एरर रनिंग एएनवी GEM_PATH = / Users / ..." में चलते हैं, तो यह आपके रास्ते नहीं हैं, और आप लॉग में देखेंगे कि यह ओपनसेल (जो शायद स्थापित है) आरवीएम में बस्ट है और वे प्रदान करते हैं इसके माध्यम से काम करने पर पेज rvm.io/packages/openssl
डायलन वालेड

4
मैं वास्तव में उस गंदगी से नफरत करता हूं जो रूबी है। यह एक दिखावा है। हालाँकि, यह जवाब मुझे सही रास्ते पर मिला और इसके लिए वास्तव में बहुत धन्यवाद!
इयान लुईस

1
उन पोस्टों के बीच घूमते हुए जो मुझे अन्य समस्याओं की ओर ले जाती हैं, मुझे यह बहुत मददगार लगी क्योंकि यह बताती है कि आरवीएम का उपयोग कैसे किया जाए, न केवल इसका उपयोग करें।
हेक्टर ऑर्डोनेज़

19

काढ़ा के साथ यह एक लाइनर है:

(यह मानते हुए कि आपने होमब्रे / संस्करणों को टैप किया है, जिसे चलाकर किया जा सकता है brew tap homebrew/versions )

brew install ruby193

OS X 10.8.4 पर मेरे लिए बॉक्स से बाहर काम किया। या यदि आप 2.0 चाहते हैं, तो आप बसbrew install ruby

अधिक सामान्यतः, brew search rubyआपको उपलब्ध विभिन्न रिपॉजिट दिखाता है, और यदि आप वास्तव में विशिष्ट प्राप्त करना चाहते हैं, तो आप brew versions rubyइसके बजाय एक विशिष्ट संस्करण का उपयोग और जांच कर सकते हैं ।


1
माणिक का एक विशिष्ट संस्करण स्थापित करने के लिए महान एक-लाइनर ! काढ़ा के साथ रूबी संस्करणों के बीच स्विच करना बहुत आसान नहीं है ... stackoverflow.com/questions/8730676
नेल्सन

4

मुझे पता है कि यह एक पुरानी पोस्ट है, लेकिन मैं उस बारे में कुछ अतिरिक्त जानकारी जोड़ना चाहता हूं। सबसे पहले, मुझे लगता है कि rvmमहान BUT करता है यह मेरे सिस्टम (MAC OS Yosemite) से माणिक को अपडेट नहीं कर रहा था।

क्या rvmकर रहा था: किसी अन्य स्थान पर स्थापित करना और मेरे पर्यावरण चर पर वहां रास्ता तय करना ... और मैं थोड़े ऊब गया था, क्योंकि मेरे सिस्टम पर अब दो माणिक थे।

तो इसे ठीक करने के लिए, मैंने इसकी स्थापना रद्द की rvm, फिर यहां उपलब्ध Homebrew पैकेज प्रबंधक का उपयोग किया और माणिक थ्रो टर्मिनल कमांड को स्थापित किया brew install ruby

और फिर, सब कुछ पूरी तरह से काम कर रहा था! मेरे सिस्टम से माणिक अपडेट किया गया था! आशा है कि यह अगले साहसी लोगों के लिए मदद करेगा!


1
मुझे यह तय करने में दिक्कत हो रही थी कि मुझे इसका इस्तेमाल करना चाहिए rvmया नहीं brew। इससे मदद मिलती है। धन्यवाद
unifreak

काढ़ा भी एक ही काम नहीं करता है?
एनॉन

3

मैं यहाँ टिन मैन से असहमत हूँ। मैं rvv को आरवीएम के लिए बेहतर मानता हूंrbenvRVM जिस तरह से आपके शेल में भारी हस्तक्षेप नहीं करता है, और यह आपको साधारण फ़ोल्डरों में अलग-अलग रूबी इंस्टॉलेशन जोड़ने देता है, जिसे आप सीधे जांच सकते हैं। यह आपको खुद रूबी को संकलित करने की अनुमति देता है। अंतर की अच्छी रूपरेखा यहाँ: https://github.com/sstephenson/rbenv/wiki/Why-rbenv%3F

मैं यहां रूबेन के लिए रूबी 1.9 को संकलित करने के निर्देश प्रदान करता हूं । इसके अलावा, अधिक विस्तृत जानकारी यहाँ । मैंने इस तकनीक का उपयोग स्नो लेपर्ड, लायन और माउंटेन लायन पर आसान सफलता के साथ किया है।


1
जिस समय यह प्रश्न मूल रूप से पूछा गया था, उस समय rbenv एक विकल्प नहीं था। कोड में परिवर्तन होता है। आरवीएम अभी भी एक अच्छा विकल्प है, लेकिन यह रेंबो की तुलना में भारी है। मैं दोनों का उपयोग विभिन्न मशीनों पर करता हूं, क्योंकि वे दोनों अलग-अलग तरीकों से उपयोगी हैं।
टीन मैन

2

डैन बेंजामिन का हाइवोलॉजिकल आर्टिकल इन्स्टॉलिंग रूबी, रूबीजम्स , और रेल्स ऑन स्नो लेपर्ड हालांकि जाने के लिए अनुशंसित जगह है, हालांकि आर्टिकल 1.8 के लिए है, इसलिए यहां स्नो लेपर्ड पर रूबी 1.9-विशिष्ट इंस्टॉल किया गया है । 64-बिट चीज़ के लिए देखें ... या तो सभी 64-बिट 'वसा' पर जाएं (उदाहरण के लिए - ओएस एक्स पर अपाचे, जो 32-बिट पुस्तकालयों के साथ समस्या पैदा कर सकता है) या किसी भी रत्न की जांच करें जो आप की संभावना है यह सुनिश्चित करने के लिए कि वे 64-बिट के लिए ठीक हैं का उपयोग करें।


2

यह कमांड वास्तव में काम करता है

\curl -L https://get.rvm.io | bash -s stable --ruby


0

जैसा कि पहले उल्लेख किया गया है, आपके संस्करण रेल के लिए बंडलर संस्करण बहुत अधिक हो सकता है।

मैं रेल 3.0.1 का उपयोग करके उसी समस्या में भाग गया जिसके लिए बुंडलर v1.0.0 - v1.0.22 की आवश्यकता है

अपने बंडलर संस्करण की जाँच करें: gem list bundler

यदि आपका बंडलर संस्करण उपयुक्त सीमा के भीतर नहीं है, तो मुझे यह समाधान काम करने के लिए मिला: rvm @global do gem uninstall bundler

नोट: इस समाधान के लिए आरवीएम की आवश्यकता है ... आप पहले स्थान पर आरवीएम का उपयोग क्यों करें, इसके लिए एक और मामला।


0

विचार करने के लिए कई अन्य संस्करण प्रबंधक हैं , कुछ उदाहरणों के लिए देखें और एक यह है कि वहां सूचीबद्ध नहीं है कि मैं जल्द ही एक कोशिश दे रहा हूं, जो कि आर-रूबी है । मैंने rbenv की कोशिश की, लेकिन इसके साथ बहुत सारी समस्याएं थीं। आरवीएम मेरा मुख्य आधार है, हालांकि इसमें कभी-कभी विषम समस्या होती है (इसलिए मौका मिलने पर मेरी कोशिश ch-ruby होती है)। मैं सिस्टम रूबी को नहीं छू पाऊंगा, क्योंकि अन्य चीजें इस पर भरोसा कर सकती हैं।

मुझे यह जोड़ना चाहिए कि मैंने अपनी रूबी को कई बार संकलित किया है, और यदि आप उस मार्ग को लेते हैं तो Hivelogic लेख (जैसा कि डेव एवरिट ने सुझाया है) का उपयोग करना एक अच्छा विचार है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.