2012-11-29 11 views
166

मैं 1.8 मैं संबंधित डेबियन संकुल स्थापित करने की कोशिश की करने के लिए जवाहरात अपग्रेड करने की आवश्यकता कैसे उन्नत करने के लिए, लेकिन यह RVM या में अपने एक नज़र नहीं उन्नत बनाया जा रहाrubygems

[email protected]:~$ dpkg -l |grep -i rubygem 
ii rubygems        1.3.5-1ubuntu2         package management framework for Ruby libraries/applications 
ii rubygems-lwes       0.8.2-1323277262        LWES rubygems 
ii rubygems1.8       1.3.5-1ubuntu2         package management framework for Ruby libraries/applications 
ii rubygems1.9       1.3.5-1ubuntu2         package management framework for Ruby libraries/applications 
[email protected]:~$ 


[email protected]:~$ gem 
gem  gem1.8 gem1.9 
[email protected]:~$ sudo gem1.8 install serve 
ERROR: Error installing serve: 
     multi_json requires RubyGems version >= 1.3.6 
[email protected]:~$ 
+1

बस स्पष्ट करने के लिए करते हैं, अपने सवाल यह है कि रूबीगैम्स को कैसे अपडेट करें - रूबीगम्स द्वारा प्रबंधित कोई विशेष मणि नहीं। – Mike

उत्तर

406

स्थापित rubygems अद्यतन

gem install rubygems-update 
update_rubygems 
gem update --system 

रन इस रूट या sudo का उपयोग के रूप में आदेश देता है।

+1

के लिए मौजूद है, मुझे यह अपवाद मिल रहा है जब मैं ue सुझाव मणि अद्यतन का पालन करता हूं - सिस्टम डेबियन पर अक्षम है। RubyGems को आधिकारिक डेबियन भंडारों का उपयोग योग्यता या उपयुक्त प्राप्त करके अद्यतन किया जा सकता है। – Anuj

+2

यूनिकोड मणि (https://github.com/blackwinter/unicode/issues/5) के साथ समस्याओं की वजह से: रन उत्तर के समाधान के बाद मुझे 'मणि प्रिस्टिन यूनिकोड' चलाने की ज़रूरत थी, जिसने मणि को फिर से बनाया और इसे प्रयोग करने योग्य बनाया । – reallynice

+0

डेबियन सिस्टम पर rubygems अद्यतन करने के लिए greate काम करता है। धन्यवाद! – danger89

5

मैं डेबियन संकुल का उपयोग नहीं होगा, है लगता है Rbenv

+0

डेबियन पैकेज Rbenv – antono

15

या:

gem update `gem outdated | cut -d ' ' -f 1` 
+0

# इस के लिए शानदार धन्यवाद का उपयोग करने पर विचार करें।मैंने ऑटोमेशन को ओवरराइट पुष्टिकरण – SaxDaddy

8

आप इस तरह किसी भी विशिष्ट संस्करण के लिए मणि अद्यतन कर सकते हैं,

gem update --system 'version' 

gem update --system '2.3.0' 
+1

के लिए रोकने से रोकने के लिए केवल '--force' जोड़ा है, आप कमांड डेबियन मणि अपडेट - सिस्टम "2.1.0" त्रुटि के आधार पर वितरण पर काम नहीं करते हैं: मणि निष्पादित करते समय ... (रनटाइम त्रुटि) मणि अद्यतन - सिस्टम डेबियन पर अक्षम है, क्योंकि यह rubygems डेबियन पैकेज की सामग्री को ओवरराइट कर देगा, और सूक्ष्म तरीकों से आपके डेबियन सिस्टम को तोड़ सकता है। डेबियन आधिकारिक भंडारों का उपयोग करके, rubygems को अद्यतन करने के लिए डेबियन-समर्थित तरीका apt-get के माध्यम से है। यदि आप वास्तव में जानते हैं कि आप क्या कर रहे हैं, तो आप अभी भी REALLY_GEM_UPDATE_SYSTEM पर्यावरण चर सेट करके rubygems को अपडेट कर सकते हैं, लेकिन कृपया याद रखें कि यह डेबियन द्वारा पूरी तरह से असमर्थित है। – jeff

33

तुम सिर्फ प्रदर्शन से सभी रत्नों को अद्यतन कर सकते हैं:

sudo gem update

+21

यह एक प्रश्न है जो एक प्रश्न की तलाश में है। – Mike

+1

बिना 'सूडो' के बिना यदि आपने नियमित उपयोगकर्ता के रूप में रत्न स्थापित किए हैं (रूट के रूप में रत्न स्थापित करना वैसे भी बहुत अच्छा नहीं है)। – akostadinov

+1

सवाल यह नहीं है कि "मैं सभी रत्न कैसे अपडेट करूं?" बल्कि "मैं अपनी मशीन पर रूबीजम्स कैसे अपडेट करूं?" – aceofbassgreg

0

के लिए मुझे बस

चलाने के लिए पर्याप्त है
gem update 
+3

यह आपके रत्नों को अपडेट करने के लिए है, न कि rubygems सॉफ्टवेयर स्वयं। –

-1

वाह! कोई भी जवाब सटीक नहीं है ... सर्वश्रेष्ठ refer to the actual documentation है।

इसे में डालकर अधिकांश मामलोंgem update --system पर्याप्त होंगे।

आपको अंधेरे से sudo का उपयोग नहीं करना चाहिए। वास्तव में यदि आपको ऐसा करने की आवश्यकता नहीं है तो आपको इसका उपयोग नहीं करना चाहिए।

0

सिर्फ एक मणि अद्यतन करने के लिए (और यह निर्भरता है), कार्य करें:

bundle update gem-name 

लेकिन अकेले सिर्फ मणि अद्यतन करने के लिए (यह निर्भरता है अपडेट किए बिना),

bundle update --source gem-name 
संबंधित मुद्दे