RVM ZSH में काम नहीं कर रहा है


96

मैं अपने मैक पर ZSH शेल को आज़माना चाहता हूं, लेकिन मैं रूबी और रेल के बहुत से विकास भी करता हूं, इसलिए मैं आरवीएम का उपयोग बहुत कम करता हूं। समस्या यह है कि मुझे ZSH में काम करने के लिए RVM नहीं मिल सकता है, और यह डिफ़ॉल्ट बैश शेल में ठीक काम कर रहा है:

> zsh
> rvm 1.9.2
> ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
> which ruby
/usr/bin/ruby

मैं निश्चित रूप से पुष्टि कर सकता हूं कि आरवीएम स्थापित है, साथ ही आरवीएम के तहत 1.9.2 रूबी; मैं इसका उपयोग हर समय बैश में करता हूं। rvm listZSH में चल रहा है यह दिखाता है, दिलचस्प:

rvm rubies

   ruby-1.8.7-p302 [ x86_64 ]
=> ruby-1.9.2-p0 [ x86_64 ]

यह मेरे iMac और MacBook Pro दोनों पर हो रहा है। मैं दोनों पर ओएस एक्स 10.6.6, आईमैक पर ज़ेडएस 4.3.9 (लैपटॉप पर 4.3.10) का उपयोग कर रहा हूं। ओह-माय-ज़श जैसे फैंसी कुछ भी नहीं अभी तक।

मैंने आरवीएम की वेबसाइट पर प्रलेखन देखने की कोशिश की , लेकिन वहां कुछ भी मेरी मदद नहीं की।

जवाबों:


275

क्या आपके पास यह लाइन आपके ~ / .zshrc में है ?

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 

2
हाहाहा, उस साधारण सी बात को पूरी तरह भूल गए। अब मैं यहां जल्दी न आने के लिए अपनी जिद पर नाराज हूं। धन्यवाद :)।
5

6
आपका स्वागत है। यह कुछ समय होता है :) एक उपयोगी चीज जो मैंने अपनी पुरानी सेटिंग्स को रखने के लिए की: "स्रोत ~ / .profile" और "source ~ / .bash_profile" मेरे ~ / .zshrc में। यह मेरे .zshrc को थोड़ा साफ रखता है।
intellidiot

3
मैंने पाया कि जब मैंने osh-my-zsh का उपयोग zsh को अनुकूलित करने के लिए किया था। पथ के झुंड को .zshrc में जोड़ा गया था जो कि यह मेरे मौजूदा शेल से लिया गया था - इसमें bash के अंतर्गत rvm द्वारा जोड़े गए पथ शामिल थे।
ल्यूक चाडविक

1
मैंने उम्र बिताने की कोशिश की, यह भी पता लगाने की कोशिश की, जैसे कि लाइन [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"मेरे .zlogin में है, लेकिन मुझे लगता है कि यह मेरे मैक पर नई टर्मिनल खिड़कियां खोलने के दौरान इसका उपयोग नहीं कर रहा था (10.7.3, ओह माय ज़श)। इसे .zshrc में जोड़ना मेरे लिए भी काम आया लेकिन इस स्टैकओवरफ़्लो टिप्पणी के अनुसार , .zshrc गलत जगह पर है ??
वफ़ल

5
यह भी सुनिश्चित करें कि आपका रास्ता $ HOME / .rvm / bin से पहले / usr / bin है, अन्यथा आप रूबी को निष्पादन योग्य कह सकते हैं जो OS X के साथ आता है। आप ZSH में 'रूबी' टाइप करके पूर्वता की जांच कर सकते हैं। ।
पेरिशेबल डेव

22

नोट मार्च 2014:

नवीनतम आरवीएम के साथ, निम्नलिखित पंक्ति:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 

अब और जरूरत नहीं है, और यह आपके में नहीं होना चाहिए ~/.zshrc

दस्तावेज़ को ZM के साथ RVM प्रलेखन में अद्यतन किया गया है :

ITerm2 प्राथमिकता में सुनिश्चित करें: लॉगिन शेल विकल्प सेट किया गया है (कमांड विकल्प का उपयोग न करें)। आरवीएम के काम करने के लिए यह आवश्यक है।

यदि आप अभी भी आरवीएम प्राप्त कर रहे हैं तो iTerm पर फ़ंक्शन त्रुटियां नहीं हैं, कोशिश करें:

rvm get stable --auto-dotfiles

कम से कम आर्क लिनक्स के मेरे इंस्टालेशन पर, xterm एक लॉगिन शेल का उपयोग नहीं करता है और इस तरह rvm सही ढंग से सेट नहीं होता है, यहां तक ​​कि उस कमांड को रन भी नहीं करता है।
ioquatix

5

नोट नवंबर 2014

Rvm इंस्टॉलेशन निर्देशों में चेतावनी दी गई है कि PATH सेट करते समय .zshrc में $ PATH शामिल नहीं है, इस प्रकार PATH की सामग्री को बिना PATH में मौजूद होने के संबंध में बदले।

इसे ठीक करने के लिए अब मैं संलग्न पथ के लिए .rvm/binऔर उसके बाद आगे जोड़ते $PATH की स्थापना की शुरुआत में PATHदूसरी पंक्ति पर:

export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting

export PATH=$PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/usr/local/mysql/bin:/opt/local/bin"

1

मुझे एक ही समस्या थी, मैंने "रेल पर रूबी" स्थापना के बाद इसका उपयोग करके हल किया:

echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.zshrc

तथा

source ~/.zshrc

0

मैं zsh का उपयोग करता हूं, और [[-s "$ HOME / .rvm / लिपियों / rvm"]] && का उपयोग करता हूं। मेरी .zshrc फ़ाइल में "$ HOME / .rvm / स्क्रिप्ट / rvm", लेकिन एक पार्स त्रुटि हो रही थी: 404।

जब मैंने उस लाइन को .profile फ़ाइल में स्थानांतरित किया, तो त्रुटि बंद हो गई। ऐसा लगता है कि यह मेरे .zshrc फ़ाइल में कुछ के साथ संघर्ष कर रहा था, और शायद इसे चलाने में .profile .zshrc फ़ाइल असंगतता से बचा था। मैं सक्षम नहीं है

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