wake-up-neo.com

Beim Ausführen von rvm wird "Warnung! PATH ist nicht richtig eingerichtet" angezeigt. Verwenden Sie 2.0.0 --default

Oben funktioniert nicht beim ersten Mal, funktioniert beim zweiten Mal.

Versuchen Sie, Ruby Version 2.0.0 für alle neuen Shell-Fenster festzulegen.

Tun

$ rvm use 2.0.0 --default

gibt

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

Dann mache ich dasselbe

$ rvm use 2.0.0 --default

jetzt gibt es keinen Fehler, d.h.

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

aber neue Fenster geben mir immer noch Ruby 1.9.3, nicht 2.0.0

Mein .bashrc Datei enthält:

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

Mein .bash_profile hat:

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

Versuchen

rvm get stable

scheint zu funktionieren, aber am Ende einer Menge grüner Ausgabe zeigt:

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

Ein neues Terminalfenster mit rvm list rubies zeigt dies:

$ 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
101
Michael Durrant

Die Antwort lautete:

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

** am UNTEN ** (letzte Zeile - wichtig!) meiner .bashrc-Datei. Ich hatte es in meiner .bash_profile-Datei (ich bin auf Ubuntu) und das funktionierte nur teilweise, was zu verwirrenden Fehlern führte.

164
Michael Durrant

Ich steckte nach der Deinstallation von rvm mit

rvm implode

dann nach der Neuinstallation von rvm erhielt es die gleiche Fehlermeldung. Nachdem Sie Wayne Seguins Git Hub-Seite durchgesehen haben. Er listet Werkzeuge auf seiner Seite auf und empfiehlt die Verwendung

rvm reset 

nach einer installation. Das hat meine Fehlermeldung behoben. Es sind keine Änderungen am PFAD erforderlich.

159

Vielleicht ist dies nicht die beste Lösung, aber ich habe diese Zeile am Ende meiner .zshrc-Datei hinzugefügt (dies funktioniert auch in .bashrc!).

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

Ich habe Michael Durrants Lösung ausprobiert und es hat bei mir nicht funktioniert. aber ich lief rvm get stable --auto-dotfiles und es fing an, wie gewünscht zu arbeiten.

Ich hoffe es hilft

22
Sparkmasterflex

Dies ist keine Antwort auf die gestellte Frage, sondern auf die zugehörige Frage, die die meisten Kommentatoren/Antwortenden gestellt haben - Warum müssen Sie die Zeile rvm am unteren Rand des Shell-Befehls einfügen? Datei?

Die Antwort ist einfach.

  1. Der geladene rvm-Code setzt die rvm Ruby binären Verzeichnisse an die "Front" von $PATH, und
  2. .bashrc (oder eine Entsprechung für Ihre Standard-Shell) wird zeilenweise von oben nach unten gelesen und interpretiert.

Stellen Sie sich also folgendes Szenario vor:

$ 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=<something>:$PATH
$ echo $PATH
  <something>:/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

Es ist klar, ob etwas in der Shell-Init-Datei nach der RVM-Zeile vorhanden ist und Änderungen an $ PATH vornimmt, insbesondere wenn Verzeichnisse vor $PATH, dann verschieben diese Änderungen die von rvm hinzugefügten Verzeichnisse von ihrer ersten Position nach unten. Wenn RVM aufgerufen wird, stellt es fest, dass seine Ruby binären Verzeichnisse nicht ganz am Anfang von $PATH und BAM! Du bekommst die Warnung :).

Ich hoffe, das macht die Dinge klar.

8
Sankalp

Ich hatte das gleiche Problem. Ich habe das in der bashrc-Datei gefunden

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

mehrfachnennungen für rvm. Ich habe einen Eintrag kommentiert und es funktioniert gut.

#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
5
Deepak Kabbur

Füge nur meine Erfahrung hinzu: wenn du .bash_profile Verwendest, überprüfe, ob .bashrc Nicht stört. In diesem Fall klappt es, .bashrc Zugunsten einer einzelnen Bash-Konfiguration mit .bash_profile Zu töten.

5
Ain Tohvri

Ich habe eine Folgefrage dazu (wünschte, ich könnte einfach einen Kommentar hinzufügen - aber ich habe nicht genug Credits). Ich hatte genau das gleiche Problem - und als ich das mit --auto-dotfiles Vorgeschlagene rvm-Skript befolgte, bekam ich Probleme, da das Shell-Skript irgendwie meine . Bashrc_profile -Datei löschte.

Wie auch immer, irgendwann kam ich zu der gleichen Antwort wie oben und setzte diese Zeile am Ende der Datei . Bashrc. [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

Haben Sie zufällig herausgefunden, warum das so funktioniert und nicht mit der Zeile in der Mitte der .bashrc-Datei? Haben Sie eine gewisse Klarheit darüber, wie Unix die Umgebungsvariable lädt, mit der RVM in einer Instanz und nicht in einer anderen funktioniert?

5
David Kim

Ich habe alles, was eine .rvm enthält, aus meiner PATH = -Zeile in meiner .zshrc entfernt

Das hat das Problem für mich behoben, bei dem die anderen Antworten hier (Beschaffung des RVM-Skripts oder Stabilisierung mit Auto-Dotfiles) fehlschlugen.

3
Caleb

Ich habe festgestellt, dass dieser Befehl sehr nützlich ist. Es löst meinen Fall. Also, wenn jemand das gleiche Problem hat, probieren Sie es aus: rvm get stable --auto-dotfiles

2
castro4000

rvm install Ruby-head Das Problem wurde für mich behoben - wenig zeitaufwändig, hat aber den Trick getan. Ich bin mir nicht sicher, ob dadurch unangekündigte Aktualisierungen an meinen Bash-Dateien vorgenommen wurden.

1
user2164305

Du kannst hinzufügen

rvm_silence_path_mismatch_check_flag=1

zu deinem ~/.rvmrc Datei. Das ist, was die Warnmeldung jetzt vorschlägt.

1
AkaZecik

Es funktionierte, nachdem die oberen zwei doppelten Zeilen kommentiert und unten hinzugefügt wurden. Vergessen Sie nicht, das Terminal neu zu starten, damit es funktioniert.

#[[ -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/[email protected]/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/[email protected]/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
Dave

Am Ende entfernte ich ~/.profile, ~/.bashrc und ~/.zshrc.

Grundsätzlich habe ich nur ~/.bash_profile auf meinem Mac. Und es funktioniert.

Ich denke in meinem Fall gibt es:

 export PATH = "$ PATH: $ HOME/.rvm/bin" 
 [[-s "$ HOME/.rvm/scripts/rvm"] && source "$ HOME/.rvm/scripts/rvm "# RVM in eine Shell-Sitzung laden * als Funktion * 

in diesen Dateien und diesen doppelten Einstellungen verwirrt rvm

0
Steven Yue