आरवीएम एक फ़ंक्शन नहीं है, 'आरवीएम उपयोग ...' के साथ माणिक का चयन करने से काम नहीं चलेगा


160

माणिक संस्करणों की सूची बनाएं

console:~$ rvm list

rvm rubies

ruby-2.0.0-p481 [ i686 ]

# => - current
# =* - current && default
#  * - default

माणिक के एक विशिष्ट संस्करण का उपयोग करने का प्रयास करें

console:~$ rvm use 2.0.0

RVM is not a function, selecting rubies with 'rvm use ...' will not work.

You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for a example.

1
तुम क्या करने की कोशिश कर रहे हो?
पावन

आप किस टर्मिनल का उपयोग करते हैं? लॉगिन शेल सेट करना प्रति टर्मिनल एप्लिकेशन में भिन्न होता है। वैकल्पिक रूप से आप source $HOME/.profileया source $HOME/.bash_profileजहाँ rvm ने शायद अपनी init लाइन को परिभाषित किया है।
माइकल बेर्कोव्स्की

आपको अपने कंसोल को लॉगिन शेल के रूप में चलाने की आवश्यकता है। आपके पास क्या व्यवस्था है?
ब्रोयत्से

टर्मिनल Gnome Ubuntu 12.04 lts
user3678471

4
यदि आप सोच रहे हैं कि लॉगिन बनाम नॉन-लॉगिन शेल के बीच क्या अंतर है: unix.stackexchange.com/questions/38175/…
stephenbez

जवाबों:


236

आपका कंसोल लॉगिन शेल के रूप में नहीं चल रहा है और इसलिए rvm फ़ंक्शन तक इसकी पहुंच नहीं है। यदि आप उबंटू चला रहे हैं, तो आप यह कर सकते हैं:

  1. कंसोल खोलें
  2. संपादित करें -> प्रोफ़ाइल प्राथमिकताएँ चुनें
  3. टैब चुनें: शीर्षक और कमांड
  4. चेक बॉक्स 'लॉगिन कमांड के रूप में रन कमांड'
  5. टर्मिनल को पुनरारंभ करें

1
मैंने ऐसा किया लेकिन काम नहीं किया। समस्या बरकरार । Rvm को पूरी तरह से कैसे निकालें?
user3678471

16
बेशक आपको अपने ~ / .profile [[-s "$ HOME / .rvm / script / rvm]] && में निम्नलिखित की आवश्यकता होगी। "$ HOME / .rvm / script / rvm"
nadersoliman

3
मुझे लगता है कि इसे और समझाया जा सकता है - "और इसलिए
आरवीएम

1
इसने काम कर दिया। बू आप उन दोनों के बीच अंतर बता सकते हैं?
कृष्णदास PC

6
OSX पर मेरे लिए क्या काम करता है/bin/bash --login; source ~/.rvm/scripts/rvm; rvm use 2.4.0
Jayesh

116

bash --loginअपने टर्मिनल से टाइप करें। और फिर देrvm use 2.0.0


@ AdityaPednekar तो, कभी-कभी त्रुटि / कंसोल संदेश पढ़ने से वास्तव में मदद मिलती है, RVM is not a function, selecting rubies with 'rvm use ...' will not work. You need to change your terminal emulator preferences to allow login shell. Sometimes it is required to use /bin/bash --login as the command. Please visit https://rvm.io/integration/gnome-terminal/ for a example.विवरण निर्दिष्ट करता है ।
जिज्ञासु

हाँ, यह एहसास करने में मदद करता है कि यह अनुचित रूप से कितना जटिल है, इसकी rvmतुलना मेंnvm
Jannis Ioannou

53

ऐसा लगता है जैसे आपका आरवीएम ".bash_profile" को ठीक से लोड नहीं करता है। मैंने इसे टर्मिनल खोलने और लिखने के द्वारा मैक ओएस एक्स या उबंटू 14.04 में इसे ठीक करने के लिए किया है:

source ~/.rvm/scripts/rvm

41

मेरा env OSX Yosemite है। एक ही मुद्दा था .... निम्नलिखित जोड़कर हल किया

1) .bash_profile फ़ाइल में निम्न पंक्ति संपादित करें और जोड़ें ।

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

2) टर्मिनल को फिर से शुरू करें और RVM कमांड को फिर से आज़माएँ


2
आप इसे ~ / .bashrc या ~ / .zshrc (यदि आपका zsh उपयोग कर रहे हैं) में भी जोड़ सकते हैं।
adridev

यदि आप टर्मिनल को पुनः आरंभ नहीं करते हैं या नहीं कर सकते हैं, तो आप source ~/.bash_profileइसे संपादित करने के बाद चला सकते हैं ।
आंद्रे रवाज़ी

35

यदि आप नहीं चाहते हैं कि हर बार जब आप एक टर्मिनल खोलते हैं, तो ऊपर दिए गए सुझाव को फिर से करें, बस जोड़ें

source ~/.rvm/scripts/rvm

के अंत में ~/.bashrc


इसने मदद की।
अरुप रक्षित

.. और एक पुनरारंभ की आवश्यकता है?
गोर्की

16

त्रुटि के कारण rvm लॉगिन शेल में नहीं चल रहा है। इसलिए नीचे दिए गए आदेश का प्रयास करें:

/bin/bash --login

आप टर्मिनल में लॉगिन शेल के रूप में तुरंत आरवीएम कमांड चला पाएंगे।

धन्यवाद!


15

अन्य उत्तरों के समान सिद्धांत, बस लगा कि यह पुनः खोलने वाले टर्मिनलों की तुलना में तेज है :)

bash -l -c "rvm use 2.0.0"

किसी को इन सब से बेहतर जवाब देना चाहिए। इस प्रश्न के सभी उत्तरों में यही एकमात्र आइटम है जो मेरे लिए काम करता है लेकिन यह ऐसा कुछ नहीं है जो मैं हर समय करना चाहता हूं। मैक OSX सिएरा पर Im
djangofan

9

आपको जोड़ने की आवश्यकता source ~/.rvm/scripts/rvmहै ~/.your_shellrc file। अब से जब आप एक शेल लोड करते हैं, तो आरवीएम लोड हो जाएगा।

उदाहरण के लिए:

यदि आप zsh शेल का उपयोग कर रहे हैं, तो ~/.zshrcफ़ाइल में जोड़ना होगा

यदि आप बैश शेल का उपयोग कर रहे हैं, तो ~/.bashrcफ़ाइल में जोड़ना होगा

और फिर प्रभाव देखने के लिए एक नया टैब खोलें।


7

मेरे लिए उबंटू (18.08) में, मैंने .bashrc में लाइन के नीचे जोड़ा है और यह काम करता है।

 source /home/username/.rvm/scripts/rvm

कृपया इस लाइन को जोड़ें।


1
धन्यवाद! यह मेरे लिए MacOS पर काम करता है! एक सुझाव के रूप में, मुझे लगता है कि ~उपयोगकर्ता के घर के मार्ग को संदर्भित करने के लिए इसका उपयोग करना बेहतर है : source ~/.rvm/scripts/rvm:-)
जियोवानी बेनुसी

2

एक नए Ubuntu 16.04 इंस्टॉलेशन से

1) टर्मिनल => संपादित => प्रोफ़ाइल प्राथमिकताएँ

2) कमांड टैब => लॉग शेल के रूप में रन कमांड की जांच करें

3) बंद करें, और टर्मिनल को फिर से खोलें

rvm --default use 2.2.4

0

एफडब्ल्यूआईडब्ल्यू- मैं अभी भी इस पार भाग गया, यह एक रद्द किए गए सेलेनियम रन के संदर्भ में था। शायद वहाँ एक उप-शेल को तत्काल बनाया गया था और जगह में छोड़ दिया गया था। उस टर्मिनल विंडो को बंद करना और एक नया खोलना मुझे बस इतना करना था। (macOS सिएरा)

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