माणिक रत्न के विशिष्ट संस्करण को कैसे स्थापित करें?


884

कमांड-लाइन gemटूल का उपयोग करते हुए , मैं एक रत्न के विशिष्ट संस्करण को कैसे स्थापित कर सकता हूं?

जवाबों:


1157

-vध्वज का उपयोग करें :

$ gem install fog -v 1.8

59
यदि, मेरी तरह, आपने पहले अपने मणि के बाद के संस्करण को स्थापित किया है, तो आपको बाद के संस्करण को उदा के साथ अनइंस्टॉल करना होगा gem uninstall fog। यह आपसे पूछेगा कि यदि आपके पास एक से अधिक संस्करण हैं, तो किस संस्करण को अनइंस्टॉल करना है।
डिजले

3
मेरे पास रेक के 3 संस्करण हैं: gem list | grep rake= rake (10.1.1, 10.1.0, 0.8.7).. मुझे एक रेल 2.3.5 प्रोजेक्ट मिली और दूसरी 3.0 जो कि उसी समय पर काम कर रही है .. मैं प्रत्येक प्रोजेक्ट के लिए रेक के एक विशिष्ट संस्करण का उपयोग कैसे करूं (अर्थात कमांड पर) लाइन)?
abbood

@abbood rake _10.1.1_ ...को काम करना चाहिए, जो कोई भी जानना चाहता है :)
कोएन।

यह देखते हुए कि यह निष्पादन योग्य बायनेरिज़ को प्रभावित नहीं करता है। पिछले संस्करण की स्थापना रद्द करना यद्यपि बायनेरिज़ के लिए काम किया।
सिरो सेंटिल्ली 冠状 病毒 iro 事件 法轮功 '

एक बार फिर, काश मैं कई upvotes कर पाता। शायद अगर उन्हें कम से कम एक साल अलग होना पड़ता। :)
डॉन ब्रैनसन

192

--versionपैरामीटर (शॉर्टकट -v) का उपयोग करें :

$ gem install rails -v 0.14.1

तुम भी >=या जैसे संस्करण तुलनित्र का उपयोग कर सकते हैं~>

$ gem install rails -v '~> 0.14.0'

या मणि के नए संस्करणों के साथ भी:

$ gem install rails:0.14.4 rubyzip:'< 1'

Successfully installed rails-0.14.4
Successfully installed rubyzip-0.9.9

यह ~> के लिए काम करता है, लेकिन अगर आपके पास '<0.9,> = 0.7' प्रकार की स्थिति है तो क्या होगा? मैंने दो वी तर्कों को लागू करने की कोशिश की और ऐसा प्रतीत होता है जैसे पहले नजरअंदाज कर दिया गया था। अल्पविराम विभाजक का उपयोग भी पार्स नहीं होगा। मैंने आवश्यकता से अधिक को हटा दिया और यह एक स्वीकार्य संस्करण स्थापित करने के लिए हुआ, लेकिन एक औपचारिक समाधान अच्छा होगा।
जोसेफ कोको

संस्करण तुलनित्र किस ~>लिए खड़ा है?
ड्रैगस

इसका अर्थ है कि अंतिम अंक बढ़ने की अनुमति है ( stackoverflow.com/questions/5170547/… )
schmijos

93

स्थापित करने के लिए gem install gemname -v versionnumber

स्थापना रद्द करने के लिए gem uninstall gemname -v versionnumber


80

रूबी के लिए 1.9+ कोलन का उपयोग करें ।।

gem install sinatra:1.4.4 prawn:0.13.0

क्या मणि (और क्या संस्करण) आप स्थापित करने की कोशिश कर रहे हैं?
कोकिज्जु

कृपया मुझे इसका उत्पादन बताएं gem sources, यदि यह खाली है, तो इस कमांड का उपयोग करके एक रेपो जोड़ें:gem sources -a https://rubygems.org/
कोकिज़ू

मेरे gem -vशो 1.8.23बनाम आपका 2.2.2। ऐसा लगता है कि यह सुविधा नया है :)
kolypto

रूबी 1.8 पहले से ही समर्थन का अंत है ruby-lang.org/en/news/2013/06/30/we-retire-1-8-7
Kokizzu

24

जैसा कि दूसरों ने उल्लेख किया है, सामान्य रूप -vसे gem installकमांड के लिए ध्वज का उपयोग करें ।

यदि आप अपने रत्न से रत्न को काटने के बाद, स्थानीय रूप से एक मणि विकसित कर रहे हैं:

$ gem install gemname-version.gem

संस्करण 0.8 मानकर, यह इस तरह दिखेगा:

$ gem install gemname-0.8.gem

3
बहुत बढ़िया जवाब। मेरा सुझाव है कि आप ध्वज "-v" विकल्प के लिए एक और कोड ब्लॉक जोड़ सकते हैं। जैसा कि मेरी आंखों ने जवाब पढ़ा वे तुरंत कोड ब्लॉक में गए और इसके आसपास के पाठ को नहीं। यदि दूसरे ऐसा करते हैं तो वे "-v" भाग को याद करेंगे।
कैमहार्ट

8

लिनक्स

माणिक के विभिन्न संस्करण को स्थापित करने के लिए, aptनिम्न के रूप में पैकेज के नवीनतम संस्करण की जांच करें:

$ apt-cache madison ruby
      ruby |    1:1.9.3 | http://ftp.uk.debian.org/debian/ wheezy/main amd64 Packages
      ruby |        4.5 | http://ftp.uk.debian.org/debian/ squeeze/main amd64 Packages

फिर इसे स्थापित करें:

$ sudo apt-get install ruby=1:1.9.3

वर्तमान संस्करण क्या है, यह जांचने के लिए:

$ gem --version # Check for the current user.
$ sudo gem --version # Check globally.

यदि संस्करण अभी भी पुराना है, तो आप रूबी संस्करण प्रबंधक ( rvm) का उपयोग करके संस्करण को नए में बदलने की कोशिश कर सकते हैं :

rvm 1.9.3

नोट: यदि आप विश्व स्तर पर स्थापित थे, sudoतो आप इसे उपसर्ग कर सकते rvmहैं। या चलाएं /usr/local/rvm/scripts/rvmअगर आपकी आज्ञा rvmआपके वैश्विक में नहीं हैPATH । यदि आरवीएम इंस्टॉलेशन प्रक्रिया विफल हुई, तो समस्या निवारण अनुभाग देखें।


समस्या निवारण:

  • यदि आपके पास अभी भी पुराना संस्करण है, तो आप इसके माध्यम से rvm (रूबी संस्करण प्रबंधक) स्थापित करने का प्रयास कर सकते हैं:

    sudo apt-get install curl # Install curl first
    curl -sSL https://get.rvm.io | bash -s stable --ruby # Install only for the user.
    #or:# curl -sSL https://get.rvm.io | sudo bash -s stable --ruby # Install globally. 

    फिर यदि स्थानीय रूप से (केवल वर्तमान उपयोगकर्ता के लिए) स्थापित किया गया है, तो rvm को इसके माध्यम से लोड करें:

    source /usr/local/rvm/scripts/rvm; rvm 1.9.3

    यदि विश्व स्तर पर (सभी उपयोगकर्ताओं के लिए), तो:

    sudo bash -c "source /usr/local/rvm/scripts/rvm; rvm 1.9.3"
  • यदि आपको अभी भी नए रूबी संस्करण के साथ समस्या है, तो इसे rvm द्वारा स्थापित करने का प्रयास करें:

    source /usr/local/rvm/scripts/rvm && rvm install ruby-1.9.3 # Locally.
    sudo bash -c "source /usr/local/rvm/scripts/rvm && rvm install ruby-1.9.3" # Globally.
  • यदि आप विश्व स्तर पर कुछ रत्न स्थापित करना चाहते हैं और आपके पास पहले से स्थापित आरवीएम है, तो आप कोशिश कर सकते हैं:

    rvmsudo gem install [gemname]

    के बजाय:

      gem install [gemname] # or:
      sudo gem install [gemname]

नोट: यह RVM रत्नों के साथ काम करने के लिए sudo का उपयोग नहीं करना पसंद किया गया है। जब आप sudo करते हैं तो आप कमांड को रूट के रूप में चला रहे हैं, दूसरे शेल में एक अन्य उपयोगकर्ता है और इसलिए RVM ने आपके लिए जो सेटअप किया है, सभी को अनदेखा किया जाता है, जबकि कमांड sudo के तहत चलता है (जैसे GEM_HOME, आदि ...)। इसलिए पुनरावृत्ति करने के लिए, जैसे ही आप 'sudo' करते हैं, आप रूट सिस्टम उपयोगकर्ता के रूप में चल रहे होते हैं, जो आपके वातावरण के साथ-साथ आपके द्वारा बनाई गई किसी भी फाइल को भी आपके उपयोगकर्ता द्वारा संशोधित करने में सक्षम नहीं होगा और इसके परिणामस्वरूप अजीब चीजें घटित होंगी।

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