Ottenere “Attenzione! PATH non è impostato correttamente “quando si usa rvm use 2.0.0 –default

Sopra non funziona la prima volta, funziona la seconda volta.

Prova a impostare la versione di ruby ​​a 2.0.0 per qualsiasi nuova finestra di shell.

fare

$ 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 

Quindi facendo lo stesso

 $ rvm use 2.0.0 --default 

ora non dà errori, es

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

ma le nuove windows mi danno ancora Ruby 1.9.3, non 2.0.0

Il mio file .bashrc ha dentro:

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

Il mio .bash_profile ha:

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

Provando

 rvm get stable 

sembra funzionare ma alla fine di un sacco di output verdi mostra:

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

Una nuova finestra di terminale con rvm list rubies mostra questo:

 $ 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 

La risposta era di mettere questo:

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

** in BOTTOM ** (ultima riga – importante!) del mio file .bashrc. L’ho avuto nel mio file .bash_profile (sono su Ubuntu) e questo ha funzionato solo parzialmente portando a errori confusi.

Sono rimasto bloccato dopo aver disinstallato rvm con

 rvm implode 

poi dopo aver reinstallato rvm ha ricevuto lo stesso messaggio di errore. Dopo aver guardato attraverso la pagina di git hub di wayne seguin. Elenca gli strumenti sulla sua pagina e raccomanda l’uso

 rvm reset 

dopo un’installazione. Questo ha corretto il mio messaggio di errore. Non sono necessarie modifiche al PERCORSO.

Forse non è il modo migliore per risolvere questo problema, ma ho aggiunto questa riga al fondo del mio .zshrc (funzionerà anche in .bashrc!)

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

Ho provato la soluzione di Michael Durrant e non ha funzionato per me. ma ho eseguito rvm get stable --auto-dotfiles e ha iniziato a funzionare come desiderato.

Spero che sia d’aiuto

Questa non è una risposta alla domanda posta, ma alla domanda correlata che la maggior parte dei commentatori / responder ha chiesto: Perché è necessario inserire la riga rvm nella parte inferiore del file rc della shell?

La risposta è semplice

  1. Il codice rvm che viene caricato mette le directory binarie di rvm ruby ​​sul “fronte” di $PATH , e
  2. .bashrc (o equivalente per la shell predefinita) viene letto e interpretato riga per riga dall’alto al basso.

Quindi immagina il seguente scenario:

 $ 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/[email protected]/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=:$PATH $ echo $PATH :/Users/sankalp/.rvm/gems/ruby-1.9.3-p547/bin:/Users/sankalp/.rvm/gems/[email protected]/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 

Chiaramente se qualcosa è presente nel file di inizializzazione della shell dopo la linea RVM e apporta modifiche a $ PATH, in particolare se antepone le directory a $PATH , allora tali modifiche spingeranno le directory aggiunte da rvm alla loro prima posizione. RVM, quando invocato, scoprirà che le sue rubriche directory binarie non sono proprio all’inizio di $PATH e BAM! riceverai l’avviso :).

Spero che chiarisca le cose.

Ho una domanda di follow-up a questo (vorrei poter semplicemente aggiungere un commento – ma non ho abbastanza crediti). Ho avuto lo stesso problema – e quando ho seguito lo script rvm suggerito usando --auto-dotfiles , mi sono messo nei guai poiché in qualche modo lo script della shell ha cancellato il mio file .bashrc_profile .

Comunque, alla fine sono arrivato alla stessa risposta sopra elencata, mettendo questa riga in fondo al file .bashrc . [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

Hai trovato il motivo per cui funziona così, e non con la riga nel mezzo del file .bashrc? Avete una certa chiarezza sul modo in cui Unix sta caricando la variabile di ambiente che fa funzionare RVM in un’istanza e non in un’altra?

Semplicemente aggiungendo la mia esperienza: se stai usando .bash_profile , controlla se .bashrc non interferisce . Killing .bashrc in favore di una singola configurazione Bash di .bash_profile funziona in questo caso.

Stavo affrontando lo stesso problema. L’ho trovato nel file 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 

più voci per rvm. Ho commentato una voce e funziona bene.

 #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 

Ho trovato questo comando molto utile. Risolve il mio caso. Quindi se qualcuno ha lo stesso problema, provalo: rvm get stable --auto-dotfiles

Ho eliminato tutto ciò che conteneva un .rvm dal mio PATH = line nel mio .zshrc

Ciò ha risolto il problema per me, dove l’altra risposta qui (l’acquisizione dello script rvm o l’ottenimento della stabilità con i dotfile automatici) non lo ha fatto.

rvm install ruby-head Risolto il problema per me – richiedeva poco tempo ma faceva il ansible. Non sono sicuro se questo abbia apportato aggiornamenti non riscossi ai miei file bash.

Ho finito per rimuovere ~/.profile , ~/.bashrc e ~/.zshrc .

Fondamentalmente ho mantenuto ~/.bash_profile sul mio Mac. E funziona.

Penso che nel mio caso ci siano:

 export PATH = "$ PATH: $ HOME / .rvm / bin"
 [[-s "$ HOME / .rvm / scripts / rvm"]] && source "$ HOME / .rvm / scripts / rvm" # Carica RVM in una sessione di shell * come funzione *

in questi file e quelle impostazioni duplicate hanno confuso rvm

HO FISSATO QUESTO PROBLEMA. PROVA IL COMANDO DI IMPRESA COME QUESTO:

 rvm use 2.0.0-p353 

ADD -p353 o altro dettaglio della versione alla fine della linea