मैंने होमब्रे का उपयोग करके माणिक 1.9.3 स्थापित किया है
काढ़ा स्थापित रूबी
लेकिन डिफ़ॉल्ट 1.8.7 अभी भी उपयोग किया जाता है। मैं डिफ़ॉल्ट माणिक के रूप में 1.9.3 का उपयोग करने के लिए ऑक्स को कैसे बदल सकता हूं?
मैंने होमब्रे का उपयोग करके माणिक 1.9.3 स्थापित किया है
काढ़ा स्थापित रूबी
लेकिन डिफ़ॉल्ट 1.8.7 अभी भी उपयोग किया जाता है। मैं डिफ़ॉल्ट माणिक के रूप में 1.9.3 का उपयोग करने के लिए ऑक्स को कैसे बदल सकता हूं?
जवाबों:
मेरा सुझाव है कि आप आरवीएम पर एक नज़र डालें । फिर आप इसे डिफ़ॉल्ट रूप से सेट कर सकते हैंrvm use 1.9.3 --default
लेकिन अगर आप अपने होमब्रे इंस्टॉल से खुश हैं।
तो बस में निर्देशिकाओं की पूर्वता बदलें PATH
यहाँ मेरा / etc / पाथ है
# homebrews should always take precedence
/usr/local/bin
# the default stack
/usr/bin
/bin
/usr/sbin
/sbin
यह आमतौर पर होमब्रे के लिए महत्वपूर्ण है, अन्यथा गिट, माणिक, pg_admin के सिस्टम संस्करण, ... सभी का उपयोग काढ़ा संस्करण के बजाय किया जाएगा।
यदि आप कहते हैं कि which -a ruby
आप सभी स्थापित माणिक, और पूर्वता देखेंगेPATH
जैसे।
$ which -a ruby
/Users/matthew/.rvm/rubies/ruby-1.9.3-p0/bin/ruby
/Users/matthew/.rvm/bin/ruby
/usr/bin/ruby
/etc/paths
इसके बजाय आप की जो जांच करने की आवश्यकता .profile
, .bashrc
या .bash_login
अपने खोल में लोड किया जा रहा है, और सिर्फ जोड़ने /usr/local/bin
अपने पथ पर।
मेरे लिए, मेरे पास केवल एक है .profile
। यदि आप उन फ़ाइलों में से कोई भी पहले से ही अपने घर निर्देशिका में मौजूद है, तो आप उस फ़ाइल को बना सकते हैं।
# homebrews should always take precedence
export PATH=/usr/local/bin:$PATH
brew upgrade git
, लेकिन संस्करण नहीं बदला। मुझे लगता है कि मैं कभी भी काढ़ा संस्करण का उपयोग नहीं कर रहा था)
संक्षिप्त जवाब:
homebrew के माध्यम से माणिक स्थापित करने के बाद बस यह करें:
brew link --overwrite ruby
और अपने टर्मिनल को पुनः आरंभ या फिर से खोलें
लंबा जवाब
इसलिए मैंने होमब्रे का उपयोग करके माणिक की एक सामान्य स्थापना की
brew install ruby
यह ठीक है लेकिन यह अभी भी सिस्टम के डिफ़ॉल्ट रूबी का उपयोग कर स्थापित किया गया था। जिसे मैंने सत्यापित करके किया है:
which ruby
#/usr/bin/ruby
इसलिए मैथ्यू रूडी के सुझाव के अनुसार, मैंने अपने / आदि / रास्तों के क्रम की जाँच की, और सब अच्छा था।
तब मैंने करने का फैसला किया:
which -a ruby
#/usr/bin/ruby
#usr/local/bin/ruby
इसलिए ऐसा कुछ भी नहीं तोड़ा गया। Homebrew विधि का उपयोग करके फिर से रूबी को फिर से स्थापित करने की कोशिश की, और फिर मैंने इसे पाया।
होमब्रे का उल्लेख किया गया है:
Warning: ruby-2.3.1 already installed, it's just not linked
तो करना था:
brew link --overwrite ruby
ruby --version
आपको एक पुराना संस्करण दिखाई देगा।
hash -r
?
यदि आप 1.9.3 को स्थापित करने के लिए होमब्रे का उपयोग करना चाहते हैं, तो आप इन चरणों का पालन कर सकते हैं:
$ brew update
$ brew install rbenv
$ brew install ruby-build
एक बार जब आपके पास रेंबव और रूबी-बिल्ड इंस्टॉल हो जाता है, तो आप रूबी 1.9.3 स्थापित करने के लिए निम्न कमांड चला सकते हैं।
$ rbenv install 1.9.3-p125
अब यदि आप डिफ़ॉल्ट रूप से 1.9.3 का उपयोग करना चाहते हैं, तो आप निम्न कमांड चला सकते हैं:
$ rbenv global 1.9.3-p125
मेरी भी ऐसी ही स्थिति थी। मैं Homebrew का उपयोग कर माणिक स्थापित किया। which -a ruby
मुझे निम्नलिखित आउटपुट दिया:
#usr/local/bin/ruby
#/usr/bin/ruby
जिसका अर्थ है कि नए इंस्टॉल किए गए संस्करण का उपयोग किया जाना चाहिए, लेकिन फिर ruby --version
भी पुराने सिस्टम संस्करण को वापस कर दिया।
मैंने टर्मिनल (Cmd + Q) छोड़ दिया, और पुनः आरंभ करने के बाद ruby --version
सही संस्करण लौटाया। इसलिए सुनिश्चित करें कि आप किसी भी अन्य (संभावित अनावश्यक) सुधार की कोशिश करने से पहले स्थापित करने के बाद टर्मिनल को पुनरारंभ करें।
SHORT: ध्यान दें कि आप इसे किस लिए बदलना चाहते हैं।
यदि आप OS X पर हैं और Jekyll जैसी किसी चीज़ के लिए रूबी का उपयोग करने का प्रयास कर रहे हैं, तो homebrew का उपयोग न करें क्योंकि यही Apple रूबी के लिए उपयोग कर रहा है और यदि आप सुनिश्चित नहीं हैं कि इसका उपयोग करना अच्छा नहीं होगा करते हुए। इसके बजाय, rbenv या RVM का उपयोग करें।
LESS SHORT: मैं Jekyll का उपयोग करने के लिए डिफ़ॉल्ट संस्करण से अद्यतन संस्करण (2.0) से स्विच करने का प्रयास कर रहा था क्योंकि इसके लिए रूबी संस्करण 2.2.5 और ऊपर की आवश्यकता थी। मैंने इसे अपडेट किया और संस्करण 2.5 स्थापित किया गया था, लेकिन जब मैंने "रूबी -v" की जांच की, तो यह अभी भी 2.0 था। एक बार जब मैं अंत में डिफ़ॉल्ट संस्करण को बदलने के लिए तैयार हो गया, तो मुझे उस पैकेज को स्थापित करने में सक्षम नहीं था जिसकी मुझे आवश्यकता थी क्योंकि मेरे पास लिखने की अनुमति नहीं थी। उदाहरण के लिए, यदि आप कुछ इस तरह से आते हैं, तो आपको शायद वही समस्या हो रही है
$ gem install jekyll bundler
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
बस इसके जवाब की तलाश में किसी और के लिए एक वैकल्पिक दृष्टिकोण के रूप में - आप अपने .bash_profile में एक उपनाम सेट कर सकते हैं।
ruby="/usr/local/bin/ruby"
यह है कि मैं इस मुद्दे के आसपास कैसे मिला