माणिक्य को कैसे उन्नत किया जाए


206

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

anujm@test:~$ 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
anujm@test:~$ 


anujm@test:~$ gem
gem     gem1.8  gem1.9  
anujm@test:~$ sudo gem1.8 install serve
ERROR:  Error installing serve:
        multi_json requires RubyGems version >= 1.3.6
anujm@test:~$

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

जवाबों:


471

माणिक-अपडेट स्थापित करें

gem install rubygems-update
update_rubygems
gem update --system

इस आदेश को रूट के रूप में चलाएँ या sudo का उपयोग करें।


1
जब मैं ue सुझाव मणि अद्यतन का पालन करता हूं तो मुझे यह अपवाद मिल रहा है - सिस्टम डेबियन पर अक्षम है। रुबाइम्स को आधिकारिक डेबियन रिपॉजिटरी का उपयोग करके एप्टीट्यूड या एप्ट-गेट से अपडेट किया जा सकता है।
अनुज

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

1
धन्यवाद, इसने मुझे minitestएनएफएस विभाजन cf पर स्थापित करने में मदद की । github.com/rubygems/rubygems/issues/1161
ऑनकल टॉम

12
rubygems-updateडिफ़ॉल्ट रूप से स्थापित किया गया है। तो, यह सिर्फ चलाने की बात है gem update --system
१२:२२

2
आमतौर पर आप इस कमांड को कभी नहीं चलाना चाहेंगे sudo। यह सिस्टम रूबी को अपग्रेड करेगा। पर विचार करें का उपयोग कर rvmयाrbenv
हेंड्रिक

54

आप केवल प्रदर्शन करके सभी रत्नों को अपडेट कर सकते हैं:

sudo gem update


44
यह एक प्रश्न की तलाश में एक उत्तर है।
माइकल

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

4
सवाल यह नहीं है कि "मैं सभी रत्नों को कैसे अपडेट करूं?" बल्कि "मैं अपनी मशीन पर रूबीगम्स कैसे अपडेट करूं?"
ऐसोफैबसर्ग

19

या:

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

#brilliant इसके लिए धन्यवाद। मैंने केवल --forceस्वचालन को ओवरराइट की पुष्टि के लिए रुकने से जोड़ा
SaxDaddy 13

इस सवाल का जवाब नहीं
agbodike

क्रमशः शेलचेक त्रुटियों के साथ नियत gem update "$(gem outdated | cut -d ' ' -f 1)";:।
बर्नहार्डवेस्टबॉडी

11

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

gem update --system 'version'

gem update --system '2.3.0'

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


5

मुझे अन्य उत्तर गलत / पुराने लगे। सबसे अच्छा वास्तविक दस्तावेज को संदर्भित करना है

लघु संस्करण: ज्यादातर मामलों gem update --system में पर्याप्त होगा।

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


4

मेरे लिए यह बस चलाने के लिए पर्याप्त है

gem update

5
यह आपके रत्नों को अद्यतन करने के लिए है, न कि माणिक्य सॉफ्टवेयर।
पीटर एच। बोलिंग

1
सच है, लेकिन "अपडेट मणि संस्करण" जैसी खोजों के लिए यह पहला Google परिणाम है, इसलिए मुझे खुशी है कि यह उत्तर यहां था।
ncrypticus

-1

केवल एक रत्न (और यह निर्भरता है) को अपडेट करने के लिए, करें:

    bundle update gem-name

लेकिन केवल मणि को अकेले अपडेट करने के लिए (यह निर्भरता को अपडेट किए बिना), करें

    bundle update --source gem-name

1
यह विशिष्ट रत्नों को अद्यतन करने के लिए है, न कि माणिक्य सॉफ्टवेयर।
thisismydesign

1
@thisismydesign मुझे लगता है कि मैंने निर्दिष्ट किया है कि यह केवल एक विशिष्ट रत्न को अपडेट करेगा?
रुतो कॉलिन्स

हां, लेकिन यह सवाल नहीं है।
thisismydesign

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