“चेतावनी! पेटीएम ठीक से सेट नहीं किया गया है ”जब आरवीएम 2.0.0 --default का उपयोग करते हैं


115

ऊपर पहली बार काम नहीं करता है, 2 बार काम करता है।

किसी भी नई शेल विंडो के लिए रूबी संस्करण 2.0.0 पर सेट करने का प्रयास करें।

करते हुए

$ rvm use 2.0.0 --default

देता है

Warning! PATH is not properly set up, '/home/durrantm/.rvm/gems/ruby-1.9.3-p125/
bin' is not at first place,
         usually this is caused by shell initialization files - check them for '
PATH=...' entries,
         it might also help to re-add RVM to your dotfiles: 'rvm get stable --au
to-dotfiles',
         to fix temporarily in this shell session run: 'rvm use ruby-1.9.3-p125'
.
Using /home/durrantm/.rvm/gems/ruby-2.0.0-p247

फिर वही कर रहे हैं

$ rvm use 2.0.0 --default

अब कोई त्रुटि नहीं देता है, अर्थात

$ rvm use 2.0.0 --default
Using /home/durrantm/.rvm/gems/ruby-2.0.0-p247
durrantm.../durrantm$ 

लेकिन नई खिड़कियां मुझे अभी भी रूबी 1.9.3 दे रही हैं, 2.0.0 को नहीं

मेरी .bashrcफ़ाइल इसमें है:

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
[[ -s "/home/durrantm/.rvm/scripts/rvm" ]] && . "/home/durrantm/.rvm/scripts/rvm"

मेरा .bash_profile है:

source ~/.profile
case $- in *i*) . ~/.bashrc;; esac

कोशिश कर रहे हैं

rvm get stable

काम करने लगता है, लेकिन बहुत सारे ग्रीन आउटपुट शो के अंत में:

Could not update RVM, get some help at #rvm IRC channel at freenode servers.

एक नई टर्मिनल विंडो जो इसे rvm list rubiesदिखाती है:

$ rvm list rubies
Warning! PATH is not properly set up, '/home/durrantm/.rvm/gems/ruby-1.9.3-p125/bin' is not at first place,
         usually this is caused by shell initialization files - check them for 'PATH=...' entries,
         it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
         to fix temporarily in this shell session run: 'rvm use ruby-1.9.3-p125'.

rvm rubies

=> ruby-1.9.3-p125 [ x86_64 ]
   ruby-1.9.3-p194 [ x86_64 ]
 * ruby-2.0.0-p247 [ x86_64 ]

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

जवाबों:


176

मैं rvm की स्थापना रद्द करने के बाद मैं अटक गया था

rvm implode

तब आरवीएम को फिर से स्थापित करने के बाद इसे एक ही त्रुटि संदेश मिला। Wayne seguin के git hub पेज से देखने के बाद। वह अपने पृष्ठ पर टूल सूचीबद्ध करता है और उपयोग करने की सिफारिश करता है

rvm reset 

एक स्थापना के बाद। इससे मेरा त्रुटि संदेश निश्चित हो गया। कोई PATH संपादन आवश्यक नहीं है।


13
जाँच और मेरी फिर से जाँच करने के बाद ~/.bashrc, ~/.bash_profileचल रहा है, rvm get stable --auto-dotfilesफिर से जाँच ~/.bashrc, ~/.bash_profileहै, और ~/.profileकई बार ... क्या यह उत्तर अंत में यह तय! भागा: rvm resetऔर यह चेतावनी से छुटकारा मिल गया! (IMHO ... आरवीएम रास्ते में सबसे पहले होने के बारे में बहुत ही बारीक है ... अगर मैं अपने रास्ते में कुछ और सेट करता हूं तो मुझे पता है कि मैं क्या कर रहा हूं)
त्रिनिट्रॉनएक्स

11
: tu:rvm reset
JBird

18
यह मेरे लिए काम किया! किसी भी PATH संपादन की आवश्यकता नहीं है, बस rvm reset(संदेश एक आखिरी बार दिखाई देगा), अब कभी भी मैं एक rvm आदेश जारी करता हूं कोई और अधिक PATH चेतावनी।
JohnRDOrazio

1
जब मैं rvm का उपयोग करता हूं तो उस टर्मिनल में समस्या को रीसेट करता हूं जहां मैंने rvm रीसेट किया है। हालाँकि, जब मैं नए टर्मिनल पर जाता हूँ तो त्रुटि / चेतावनी तब तक बनी रहती है जब तक कि मैं फिर से rvm रीसेट नहीं चलाता
Apurva Mayank

rvm helpरिटर्न के लिए काफी डरावना संकेत rvm reset: सभी डिफ़ॉल्ट और सिस्टम सेटिंग्स को दूर 😄
Muhamed Huseinbašić

171

इसका उत्तर यह देना था:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" 
# Load RVM into a shell session *as a function*

** BOTTOM पर ** (आखिरी लाइन - महत्वपूर्ण!) मेरी .bashrc फ़ाइल की। मेरे पास मेरी .bash_profile फ़ाइल (मैं Ubuntu पर हूँ) में था और यह केवल आंशिक रूप से भ्रमित करने वाली त्रुटियों के लिए अग्रणी था।


1
आरवीएम श्रृंखला के शीर्ष पर होना चाहता है, तो नीचे की ओर जाने के लिए काउंटर-सहज ज्ञान युक्त लगता है?
reneruiz

9
rvm को फ़ाइल के निचले भाग में होने की आवश्यकता होती है, जब दूसरी पंक्तियाँ होती हैं। [ba | z] उस रीडिफाइन पथ को सिकोड़ें। export PATH="/usr/local/bin:/usr/local/sbin:$PATH"Homebrew के लिए शायद एक आम है जो rvm के साथ संघर्ष में आता है।
टाइममैट 20

4
मैंने इसे अपने .bash_profile के निचले हिस्से में रखा क्योंकि मैंने कई बार पथ को फिर से परिभाषित किया था। यह भी काम किया।
काइल सूस

1
टर्मिनल को फिर से शुरू करने के बाद
इसने

24
यह निश्चित रूप से सही समाधान है, लेकिन यदि आप ऐसा करते हैं तो rvm resetयह आपके लिए स्वचालित रूप से कर देगा ...
राल्फ काॅलवे

34

शायद इसे हल करने का सबसे अच्छा तरीका नहीं है, लेकिन मैंने इस लाइन को अपने .zshrc (यह .bashrc में भी काम करेगा!) के बॉटन में जोड़ा है।

export PATH="$GEM_HOME/bin:$PATH"

यह एक क्लीनर समाधान है, आईएमओ, आरवीएम के अपडेट के साथ।
Dan L

मैं असहमत हूं, मुझे लगता है कि इसे हल करने का यह सबसे अच्छा तरीका है :) मुझे इसे mybash_profile की अंतिम पंक्ति के रूप में डालना था क्योंकि यह अंतिम चलता है और इसमें अन्य पथ घोषणाएं हैं।
Applejack42

यह वास्तव में इस मुद्दे को हल करने के लिए सबसे अच्छा समाधान में से एक है। लगभग 3 घंटे बिताए और अंत में हार मानने के लिए: डी यू द मैन। :)

मैंने अपने ~ / .profile में मुझे जोड़ा, जो ~ / bash_profile की अंतिम पंक्ति द्वारा लोड किया गया है और यह सुनिश्चित किया है कि किसी भी अन्य फ़ाइल में $ PATH के लिए कोई संदर्भ नहीं हैं। इस तरह, यह बाश में काम करेगा और अन्य गोले द्वारा उठाया जाएगा।
दिमित्री

हां यह सबसे अच्छा समाधान है, क्योंकि स्पष्ट है और निर्दिष्ट करें कि निर्यात कहां रखा जाए। धन्यवाद!!!
अल्बर्ट कैटेल्का

23

मैंने माइकल डुरंट के समाधान की कोशिश की और यह मेरे काम नहीं आया। लेकिन मैं भागा rvm get stable --auto-dotfilesऔर यह इच्छानुसार काम करने लगा।

आशा करता हूँ की ये काम करेगा


इस Mavericks पर काम किया, फिक्स को पूरा करने के लिए टर्मिनल को पुनरारंभ करना पड़ा।
ब्रेट बिम

1
ITerm2 3.0.15, मछली 2.5.0, और rvm defaultमेरी config.fishफ़ाइल के निचले भाग में मैक 10.12.3 पर । rvm resetटर्मिनल विंडो को खुला रखने पर कमांड ने मदद नहीं की। इस कमांड ने काम किया। मेरा आउटपुट: pastebin.com/1jUCSGnP
Pysis

आह, शायद जब मैं कमांड चला रहा था, तो वे bashदुभाषिया का उपयोग कर रहे थे , और मुझे उन कॉन्फ़िगरेशन फ़ाइलों को भी
जांचना चाहिए था

नहीं, यह अभी भी अन्य टर्मिनल विंडो में टूट गया था, यहां तक ​​कि iTerm को पुनरारंभ करने के बाद भी, और किसी भी प्रोफाइल स्क्रिप्ट की जांच करने से कोई मदद नहीं मिली, इसलिए मैंने सभी कॉन्फ़िगर लाइनों को हटा दिया, अपने कंप्यूटर को फिर से शुरू किया, मछली फ़ंक्शन एकीकरण के साथ RVM को पुनर्स्थापित किया, और सक्षम किया। एक rvm defaultपंक्ति। अब यह बेहतर है ..
पिसिस

8

यह पूछे गए प्रश्न का उत्तर नहीं है, लेकिन संबंधित प्रश्न जो अधिकांश टिप्पणीकारों / उत्तरदाताओं ने पूछा है - आपको शेल आरसी फ़ाइल के निचले भाग में आरवीएम लाइन डालने की आवश्यकता क्यों है?

उत्तर सीधा है।

  1. Rvm कोड जो भरी हुई है rvm रूबी बाइनरी डायरेक्टरीज़ के "फ्रंट" $PATHऔर
  2. .bashrc (या आपके डिफ़ॉल्ट शेल के बराबर) ऊपर से नीचे तक लाइन-बाय-लाइन पढ़ा और व्याख्या किया जाता है।

तो निम्न परिदृश्य की कल्पना करें:

$ echo $PATH
  /usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin 

$ [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
  /Users/sankalp/.rvm/gems/ruby-1.9.3-p547/bin:/Users/sankalp/.rvm/gems/ruby-1.9.3-p547@global/bin:/Users/sankalp/.rvm/rubies/ruby-1.9.3-p547/bin:/Users/sankalp/bin:/usr/texbin/:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin

$ export PATH=<something>:$PATH
$ echo $PATH
  <something>:/Users/sankalp/.rvm/gems/ruby-1.9.3-p547/bin:/Users/sankalp/.rvm/gems/ruby-1.9.3-p547@global/bin:/Users/sankalp/.rvm/rubies/ruby-1.9.3-p547/bin:/Users/sankalp/bin:/usr/texbin/:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin

स्पष्ट रूप से अगर कुछ आरवीएम लाइन के बाद शेल इनिट फ़ाइल में मौजूद है और $ PATH में कोई परिवर्तन करता है, विशेष रूप से अगर यह निर्देशिकाओं को प्रस्तुत करता है $PATH, तो वे परिवर्तन उनके पहले स्थान से rvm द्वारा जोड़ी गई निर्देशिकाओं को धक्का देंगे। आरवीएम, जब आह्वान किया जाएगा, तो पाएंगे कि इसकी रूबी द्विआधारी निर्देशिका BAM की शुरुआत में नहीं है$PATH ! आपको चेतावनी मिल जाएगी :)।

मुझे उम्मीद है कि इससे चीजें स्पष्ट होंगी।


6

बस मेरे अनुभव को जोड़ते हुए: यदि आप उपयोग कर रहे हैं .bash_profile, तो जांचें कि .bashrcक्या हस्तक्षेप नहीं कर रहा है । इस मामले में .bashrcएकल बैश विन्यास के पक्ष में हत्या करना .bash_profile


1
इससे मेरी समस्या हल हो गई। मुझे यकीन भी नहीं है कि कैसे .bashrc वहाँ मिल गया क्योंकि मेरे सभी कॉन्फ़िगरेशन .bash_profile में हैं। क्या rvm इंस्टॉल पर bashrc में कुछ डालता है? मुझे लगता है कि bashrc केवल एक लाइन में था और यह rvm के साथ क्या करना है पर विचार करना होगा।
केविन्देल्लेन

1
भगवान जानते हैं कि किस तरह के कमांड लाइन इंस्टॉलर ने इसे अंदर धकेल दिया। वे इसे प्रदूषित करते हैं :(
तोहवरी

2
यह सामान्य समाधान नहीं है, FWIW। .bashrcहर नेस्टेड इंटरेक्टिव शेल के लिए निष्पादित किया जाता है; .bash_profileकेवल पहले बैश शेल यानी लॉगिन शेल पर ही निष्पादित होता है। चर को आम तौर पर सेट किया जाना चाहिए .bash_profile, जबकि फ़ंक्शंस, उपनाम आदि (सामान जो सामान्य विरासत में मिला पर्यावरण से संचारित नहीं होता है) में सेट किया जाना चाहिए .bashrc
बैरी केली

5

मेरे पास इसका अनुवर्ती प्रश्न है (काश मैं केवल टिप्पणी जोड़ सकता - लेकिन मेरे पास पर्याप्त क्रेडिट नहीं है)। मेरे पास यह एक ही मुद्दा था - और जब मैंने rvm स्क्रिप्ट का अनुसरण किया, जिसका उपयोग करने का सुझाव दिया गया था --auto-dotfiles, तो मैं मुश्किल में पड़ गया क्योंकि शेल स्क्रिप्ट ने मेरी .bashrc_profile फ़ाइल को हटा दिया ।

वैसे भी, मैं अंततः ऊपर सूचीबद्ध एक ही उत्तर के आसपास आया, इस लाइन को .bashrc फ़ाइल के नीचे रख रहा था । [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

क्या आपने पाया कि ऐसा क्यों होता है जो काम करता है, और .bashrc फ़ाइल के बीच में लाइन के साथ नहीं? क्या आपके पास यूनिक्स के पर्यावरण चर को लोड करने के तरीके के आसपास कुछ स्पष्टता है जो एक उदाहरण में आरवीएम काम करता है और दूसरे में नहीं?


नहीं। यह काम किया और मैं :) :) बहुत अधिक दिलचस्प मछली को तलने के लिए :)
माइकल डुरंट

5

मैं उसी मुद्दे का सामना कर रहा था। मैंने पाया कि bashrc फ़ाइल में

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

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

आरवीएम के लिए कई प्रविष्टियाँ। मैंने एक प्रविष्टि और इसके ठीक काम पर टिप्पणी की।

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

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

3

मैंने अपने .zshrc में अपने PATH = लाइन से उसमें .rvm वाली सभी चीज़ों को साफ किया

मेरे लिए यह मुद्दा तय हो गया, जहाँ अन्य उत्तर यहाँ दिए गए हैं (आरवीएम स्क्रिप्ट की सोर्सिंग, या ऑटो डॉटफ़ाइल्स के साथ स्थिर होना)।


2

मैंने इस कमांड को बहुत उपयोगी पाया है। यह मेरे मामले को हल करता है। तो अगर किसी को एक ही मुद्दा है, यह एक कोशिश दे: rvm get stable --auto-dotfiles


1

rvm install ruby-head मेरे लिए इस मुद्दे को तय किया - कम समय लेने वाली लेकिन चाल चली। यकीन नहीं होता है कि अगर मेरे bash फ़ाइलों को किसी भी अप्रकाशित अद्यतन किया है।


1

मैंने हटाना समाप्त कर दिया ~/.profile, ~/.bashrcऔर ~/.zshrc

मूल रूप से मैं केवल ~/.bash_profileअपने मैक पर रखा । और यह काम करता है।

मुझे लगता है कि मेरे मामले में, वहाँ हैं:

निर्यात पथ = "$ पथ: $ गृह /। आरवीएम / बिन"
[[-s "$ HOME / .rvm / लिपियों / rvm"] && स्रोत "$ HOME / .rvm / लिपियों / rvm" # एक फ़ंक्शन के रूप में शेल सत्र में # लोड RVM *

इन फ़ाइलों में, और उन डुप्लिकेट सेटिंग्स को भ्रमित किया rvm


1

अस्वीकरण

Cuz मैं मुख्य रूप से अजगर का उपयोग करके विकसित करता हूं, इसलिए मुझे यकीन नहीं है कि यह वर्कअराउंड आपको एक सही रूबी एनवी देगा या बस रास्ता बदल देगा और चेतावनी से छुटकारा दिलाएगा

पृष्ठभूमि

मेरे मामले में, मैंने rvmपहले स्थापित किया , और फिर pyenvबाद में। दोनों के लिए विन्यास बदल जाएगा $PATH। चेतावनी से, ऐसा लगता है कि आरवीएम हमेशा रास्ते में पहला बनना चाहता है

$ echo $PATH

$HOME/.rvm/gems/ruby-2.6.3/bin: ......

लेकिन यदि आप eval "$(pyenv init -)"आवश्यकता के अनुसार जोड़ते हैं pyenv, तो यह आपके $PATHलिए बदल जाएगा

$ echo $PATH

$HOME/.pyenv/shims:$HOME/.rvm/gems/ruby-2.6.3/bin: ......

मेरा काम-काज

$ rvm use system # सिस्टम रूबी पर वापस जाएं

$ rvm use ruby-2.6.3 # उस संस्करण पर स्विच करें जिसका आपको उपयोग करने की आवश्यकता है

rvm यह पसंद है तो आप फिर से कष्टप्रद चेतावनी नहीं देखेंगे पथ बदल जाएगा।


0

इसने शीर्ष 2 डुप्लिकेट लाइनों पर टिप्पणी करने और उन्हें नीचे जोड़ने के बाद काम किया। यह काम करने के लिए टर्मिनल को पुनरारंभ करने के लिए मत भूलना।

#[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile
#[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
export PATH="/usr/local/opt/postgresql@9.6/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/postgresql@9.6/lib"

[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

0

आप जोड़ सकते हो

rvm_silence_path_mismatch_check_flag=1

आपकी ~/.rvmrcफ़ाइल पर। चेतावनी संदेश अब यही बताता है।


1
यह केवल संदेश को अनदेखा कर रहा है, इसे ठीक नहीं कर रहा है, जो उपयोगकर्ता के लिए पूछ रहा है। इसके अलावा, एक नई परियोजना के लिए, समस्या फिर से प्रकट होगी।
ma3x

@ ma3x वास्तव में, ओपी ने केवल एक प्रश्न को बताए बिना एक समस्या बताई, इसलिए मैं चेतावनी संदेश को 'अनदेखा करना' एक वैध सुझाव मानता हूं । इसके अलावा, मुझे नई परियोजनाओं के बारे में समझ नहीं है।
एकैज़िक

1
यहां तक ​​कि अगर कोई प्रश्न चिह्न नहीं है, तो आप निश्चित रूप से उस संदर्भ से समझ सकते हैं कि वह त्रुटि को ठीक करने की कोशिश कर रहा है, इसे छिपाए नहीं :) इसके अलावा, आपका उत्तर अधूरा है क्योंकि यह चेतावनी संदेश से केवल एक हिस्सा है। प्रारंभ में, यह नवीनतम स्थिर आरवीएम प्राप्त करने और आपकी फ़ाइलों को ऑटोडॉट करने का सुझाव देता है। नई परियोजनाओं के लिए जो मेरी गलती थी क्योंकि मैं नए रत्नों का उल्लेख करना चाहता था।
ma3x

@ ma3x आपकी अंतर्दृष्टि के लिए धन्यवाद :) शायद यह सिर्फ इतना है कि हमारे तर्क के तरीके अलग-अलग हैं, लेकिन सवाल और अन्य उत्तरों को पढ़ने के बाद, मैं एक निष्कर्ष पर पहुंचा कि ओपी बस इस चेतावनी से छुटकारा पाना चाहता है। मैं फिर से जोर देना चाहता हूं कि यह कोई त्रुटि नहीं है , यह एक चेतावनी है । और क्योंकि PATHध्वनियों में पथ के एक आदेश को लागू करने के लिए मुझे घुसपैठ लगता है, और सबसे अधिक सुरक्षात्मक , मैंने इस उत्तर को पोस्ट करने का फैसला किया। मुझे अपने उत्तर पर पुनर्विचार करने और अपनी टिप्पणियों के आधार पर इसे सुधारने में समय लगेगा :)
आकाजिक

-3

मैंने इस समस्या का सामना किया। इस उपयोग की कोशिश करें:

rvm use 2.0.0-p353

ADD -p353 या अन्य आप लाइन अंत करने के लिए विस्तार से संस्करण


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