2010-08-20 13 views
14

रीव आपके डिफ़ॉल्ट वीएम (हिम तेंदुए पर) होने पर आरवीएम के तहत rubygems को कैसे अपडेट करते हैं? मैं कर रहा हूँ:आरवीएम और रीई का उपयोग करके आप rubygems कैसे अपडेट करते हैं?

$ rvm ree gem update --system 

सब कुछ की तरह लग रही बातों में यह परिणाम ठीक चला गया:

Updating RubyGems 
Updating rubygems-update 
Successfully installed rubygems-update-1.3.7 
Updating RubyGems to 1.3.7 
Installing RubyGems 1.3.7 
RubyGems 1.3.7 installed 

[...] 

RubyGems installed the following executables: 
     /Users/douglassellers/.rvm/rubies/ree-1.8.7-2010.02/bin/gem 

लेकिन जब मैं मणि --version यह अभी भी कह 1.3.5 चलाते हैं। मणि के री संस्करण में कौन सा मणि अंक लेना।

कोई भी जानता है कि आरवीएम के साथ अद्यतन करने के लिए rubygems कैसे प्राप्त करें?

+3

आपको लगता है कि ree को सत्यापित किया? जैसे 'आरवीएम री री' का उपयोग करें 'gem --version'। मुझे पता है कि यह गूंगा लगता है, लेकिन एक गलती मैंने पहले में चलाई है :-( – Brian

+0

मैंने इसे सत्यापित कर लिया है। अजीब चीज यह है कि रूबी रत्नों को लगता है कि यह सही फ़ाइल को अपडेट कर रहा है। यह कहता है ~/.rvm/rubies अद्यतन /ree-1.8.7-2010.02/bin/gem और जब मैं "कौन सा मणि" करता हूं तो यह ~/.rvm/rubies/ree-1.8.7-2010.02/bin/gem पर इंगित करता है। इसलिए मणि का एक और संस्करण होना चाहिए आवश्यकता पथ में? मैं हालांकि एक नहीं देख सकता। –

उत्तर

17

समस्या, मुझे लगता है, प्रारंभिक आदेश (या ऐसा करने के लिए है कि आदेश आप क्या अपेक्षा) है:

$ rvm ree gem update --system 

कि rvm बताता gem update --systemree तहत gem को पारित करने के लिए है, लेकिन यह नहीं है आपको उस विशेष रूबी दुभाषिया पर स्विच करें। आप उस खोल में जो भी दुभाषिया सेट करते हैं उसका उपयोग करना जारी रखते हैं (चाहे डिफ़ॉल्ट रूप से या क्योंकि आपने शेल सत्र में मैन्युअल रूप से पहले स्विच किया था)।

उदाहरण के तौर पर, मेरा डिफ़ॉल्ट दुभाषिया रूबी 1.9.2 है। अगर मैं यह आदेश पास करता हूं: rvm 1.9.1 gem install pony, तो टट्टू रत्न रूबी 1.9.1 के लिए स्थापित है। हालांकि, मैं अभी भी रूबी 1.9.2 का उपयोग कर रहा हूं, उस इंस्टॉलेशन समाप्त होने के बाद। अगर मैं irb दर्ज करता हूं और require 'pony' आज़माता हूं, तो मुझे एक लोड त्रुटि मिलती है। अगर मैं rvm 1.9.1 चलाता हूं और फिर irb दर्ज करता हूं, तो टट्टू इंस्टॉल हो जाती है और ठीक लोड हो जाती है।

तो ब्रायन आपकी पोस्ट पर अपनी टिप्पणी में कहता है, तो आप rvm use ree के साथ मैन्युअल रूप से स्विच कर सकते हैं। वैकल्पिक रूप से, आप अपने प्रारंभिक कमांड को इस पर स्विच कर सकते हैं:

$ rvm ree 
$ gem update --system 
$ gem --version 
+0

यह मूल प्रश्न के समान परिणाम उत्पन्न करता है। सबकुछ कहता है कि यह अपडेट हो रहा है, और मणि कहता है कि यह सही फ़ाइल को अपडेट करता है लेकिन जब आप इसे मणि चलाते हैं अभी भी पुराना संस्करण कहता है। जब मैं "कौन सा मणि" चलाता हूं तो यह उसी फ़ाइल को इंगित करता है जो रूबीजम्स ने अभी बताया है कि यह अपडेट किया गया है। –

+0

कृपया ध्यान दें कि 'आरवीएम मणि ...' हटा दिया गया था, इसके बजाय 'मणि अपडेट - सिस्टम' या 'आरवीएम सभी मणि अपडेट - सिस्टम' की कोशिश करें। (देखें: ['आरवीएम उपयोग'] (http://rvm.io/rvm/cli)) – GOD

1

यह एक असामान्य समस्या है। यदि अब तक हल नहीं होती है, का उपयोग कर

rvm --default use ree 
which ruby 
which gem 

यह आप दिखाना चाहिए अगर आप सही संस्करण में हैं पर विचार करें।
या तो आरवीएम या सीधे उपयोग कर रत्न स्थापित करें।

34

अब आप कर सकते हैं:

rvm rubygems latest 

या आप परिभाषित कर सकते हैं जो वास्तव में rubygemsyou चाहते हैं। https://rvm.io/rubies/rubygems/

2

rvm मुझे सुझाव दिया इस तरह ख़ाली उपयोग करने के लिए: वर्तमान rvm गहरे लाल रंग का चयन किया जाता है

rvm [email protected] do gem update --system 
संबंधित मुद्दे