Oben funktioniert nicht beim ersten Mal, funktioniert beim zweiten Mal.
Versuchen Sie, die Ruby-Version für alle neuen Shell-Fenster auf 2.0.0 zu setzen.
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
gibt jetzt keinen Fehler, dh
$ 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
Meine .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
Ich versuche es
rvm get stable
scheint zu funktionieren, aber am Ende zeigt eine Menge grüner Output:
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
~/.bashrc
,~/.bash_profile
, läuftrvm get stable --auto-dotfiles
, erneute Überprüfung~/.bashrc
,~/.bash_profile
und~/.profile
viele Male ... diese Antwort endlich behoben! Ran:rvm reset
und es hat die Warnungen beseitigt! (IMHO ... RVM ist viel zu pingelig, wenn es darum geht, der Erste auf dem Weg zu sein ... Wenn ich zuerst etwas anderes auf meinem Weg setze, weiß ich, was ich tue)rvm reset
rvm reset
(die Meldung wird ein letztes Mal angezeigt). Jetzt, wenn ich einen rvm-Befehl erteile, werden keine PATH-Warnungen mehr ausgegeben.rvm help
Gibt einen beängstigenden Hinweis zurück fürrvm reset
: Alle Standard- und Systemeinstellungen entfernen 😄Die Antwort war:
** am UNTEN ** (letzte Zeile - wichtig!) meiner .bashrc-Datei. Ich hatte es in meiner .bash_profile-Datei (ich bin unter Ubuntu) und das funktionierte nur teilweise, was zu verwirrenden Fehlern führte.
quelle
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
für Homebrew ist wahrscheinlich eine häufige, die mit rvm in Konflikt gerät.rvm reset
, wird es dies automatisch für Sie tun ...Vielleicht ist dies nicht der beste Weg, um dies zu beheben, aber ich habe diese Zeile am Ende meiner .zshrc hinzugefügt (es wird auch in .bashrc funktionieren!)
quelle
Ich habe Michael Durrants Lösung ausprobiert und es hat bei mir nicht funktioniert. aber ich rannte
rvm get stable --auto-dotfiles
und es begann wie gewünscht zu funktionieren.Ich hoffe es hilft
quelle
rvm default
am Ende meinerconfig.fish
Datei. Der Befehlrvm reset
half nicht, wenn das Terminalfenster geöffnet blieb. Dieser Befehl hat funktioniert. Meine Ausgabe: pastebin.com/1jUCSGnPbash
rvm default
Zeile. Es ist jetzt besser..Dies ist keine Antwort auf die gestellte Frage, sondern auf die verwandte Frage, die die meisten Kommentatoren / Antwortenden gestellt haben: Warum müssen Sie die rvm-Zeile am Ende der Shell-RC-Datei einfügen?
Die Antwort ist einfach.
$PATH
, und.bashrc
(oder gleichwertig für Ihre Standard-Shell) wird Zeile für Zeile von oben nach unten gelesen und interpretiert.Stellen Sie sich also das folgende Szenario vor:
Klar, wenn etwas in der Shell-Init-Datei nach vorhanden ist der RVM-Zeile und Änderungen an $ PATH vorgenommen werden, insbesondere wenn Verzeichnisse vorangestellt werden
$PATH
, werden durch diese Änderungen die von rvm hinzugefügten Verzeichnisse von ihrer ersten Position nach unten verschoben. Wenn RVM aufgerufen wird, wird es feststellen, dass seine Ruby-Binärverzeichnisse nicht ganz am Anfang von$PATH
und BAM stehen! Du wirst die Warnung bekommen :).Ich hoffe das macht die Sache klar.
quelle
Ich füge nur meine Erfahrung hinzu: Wenn Sie verwenden
.bash_profile
, überprüfen Sie , ob.bashrc
es nicht stört . In diesem Fall funktioniert das Töten.bashrc
zugunsten einer einzelnen Bash-Konfiguration.bash_profile
.quelle
.bashrc
wird für jede verschachtelte interaktive Shell ausgeführt;.bash_profile
wird nur auf der ersten eingegebenen Bash-Shell ausgeführt, dh auf der Login-Shell. Variablen sollten im Allgemeinen festgelegt werden.bash_profile
, während Funktionen, Aliase usw. (Dinge, die in einer normalen geerbten Umgebung nicht übertragen werden) festgelegt werden sollten.bashrc
.Ich habe eine Folgefrage dazu (ich 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 dem vorgeschlagenen RVM-Skript folgte
--auto-dotfiles
, bekam ich Probleme, da das Shell-Skript irgendwie mein .bashrc_profile löschte Datei .Wie auch immer, ich bin schließlich zu der oben aufgeführten Antwort gekommen und habe diese Zeile am Ende der .bashrc- Datei eingefügt .
[[ -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 Klarheit darüber, wie Unix die Umgebungsvariable lädt, mit der RVM in einer Instanz und nicht in einer anderen funktioniert?
quelle
Ich stand vor dem gleichen Problem. Ich habe das in der bashrc-Datei gefunden
mehrere einträge für rvm. Ich habe einen Eintrag kommentiert und es funktioniert gut.
quelle
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 automatischen Punktedateien) dies nicht taten.
quelle
Ich habe diesen Befehl als sehr nützlich empfunden. Es löst meinen Fall. Wenn also jemand das gleiche Problem hat, probieren Sie es aus:
rvm get stable --auto-dotfiles
quelle
rvm install ruby-head
Das Problem wurde für mich behoben - wenig zeitaufwändig, aber der Trick war erledigt. Ich bin mir nicht sicher, ob meine Bash-Dateien dadurch unausgesprochen aktualisiert wurden.quelle
Ich landete das Entfernen
~/.profile
,~/.bashrc
und~/.zshrc
.Grundsätzlich habe ich nur
~/.bash_profile
auf meinem Mac gehalten. Und es funktioniert.Ich denke in meinem Fall gibt es:
in diesen Dateien und diese doppelten Einstellungen verwirrt
rvm
quelle
Haftungsausschluss
Weil ich hauptsächlich mit Python entwickle, bin ich mir nicht sicher, ob diese Problemumgehung Ihnen eine korrekte Ruby-Umgebung geben oder einfach den Pfad ändern und die Warnung entfernen würde
Hintergrund
In meinem Fall habe ich
rvm
zuerst und dannpyenv
später installiert . Die Konfiguration für beide wird sich ändern$PATH
. Aus der Warnung geht hervor, dass rvm immer der erste auf dem Weg sein möchte$ echo $PATH
$HOME/.rvm/gems/ruby-2.6.3/bin: ......
Wenn Sie jedoch
eval "$(pyenv init -)"
nach Bedarf hinzufügenpyenv
, ändert sich Ihr$PATH
zu$ echo $PATH
$HOME/.pyenv/shims:$HOME/.rvm/gems/ruby-2.6.3/bin: ......
Meine Problemumgehung
$ rvm use system
# Wechseln Sie zurück zu System Ruby$ rvm use ruby-2.6.3
# Wechseln Sie zu der Version, die Sie verwenden müssenrvm
Wenn Sie den Pfad so ändern, wie es Ihnen gefällt, wird die nervige Warnung nicht mehr angezeigt.quelle
Es funktionierte, nachdem die oberen 2 doppelten Zeilen kommentiert und unten hinzugefügt wurden. Vergessen Sie nicht, das Terminal neu zu starten, damit es funktioniert.
quelle
Du kannst hinzufügen
zu Ihrer
~/.rvmrc
Datei. Das schlägt die Warnmeldung jetzt vor.quelle
PATH
mir das Erzwingen einer Reihenfolge von Pfaden aufdringlich und höchstens schützend vorkommt , habe ich beschlossen, diese Antwort zu veröffentlichen. Ich werde mir Zeit nehmen, um meine Antwort zu überdenken und sie basierend auf Ihren Kommentaren zu verbessern :)Ich habe dieses Problem behoben. VERSUCHEN SIE DEN BEFEHL WIE DIESES:
ADD -p353 oder andere Versionsdetails zum Zeilenende
quelle