wake-up-neo.com

RVM Warnung! PATH ist nicht richtig eingerichtet

Ich habe gerade rvm auf meinem Mac installiert, erhalte aber diese Warnung bei globalen Befehlen 

Warnung! PATH ist nicht richtig eingerichtet. '/Usr/local/rvm/gems/Ruby-1.9.3-p194/bin' steht nicht an erster Stelle. Normalerweise wird dies durch Shell-Initialisierungsdateien verursacht. Überprüfen Sie sie auf 'PATH = .. Bei Einträgen kann es auch hilfreich sein, RVM erneut zu Ihren Dotfiles hinzuzufügen: 'rvm get stable --auto-dotfiles', um vorübergehend in diesem Shell-Sitzungslauf zu beheben: 'rvm use Ruby-1.9.3-p194'.

Mein $ PATHS bestätigt die Warnung:

$echo :$PATH:
:/usr/local/rvm/bin:/usr/local/heroku/bin:/usr/local/rvm/gems/Ruby-1.9.3-p194/bin:/usr/local/rvm/gems/[email protected]/bin:/usr/local/rvm/rubies/Ruby-1.9.3-p194/bin:/usr/local/rvm/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:

Wie vorgeschlagen, habe ich zuerst rvm get stable --auto-dotfiles ohne Erfolg versucht, dann habe ich meine Shell-Initialisierungsdateien überprüft. Mein /.bash_profile: 

export PATH=/usr/local/bin:/usr/local/sbin:$PATH
export PATH=/usr/local/share/python:$PATH
PATH=$PATH:$HOME/bin:/opt

Mein /Users/User/.bash_profile scheint der Schuldige zu sein:

export PS1="[\w]$"
alias ll='ls -laGH'
alias .='echo $PWD'

### Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"

# rvm
PATH=/usr/local/rvm/bin:$PATH
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a Shell session *as a function*

Der Grund ist, wenn ich Heroku Toolbelt und die rvm-Pfade entferne (was Antworten waren, die von anderen Stapelüberlauffragen vorgeschlagen wurden), /usr/local/rvm/gems/Ruby-1.9.3-p194/bin an erster Stelle stehen würde und das Problem behoben wurde. Ich weiß jedoch nicht, was ich mit dem Heroku Toolbelt anfangen soll. Sollte PATH=/usr/local/rvm/bin:$PATH ohnehin nicht zuerst auf rvm setzen? 

Ich muss eine triviale Lösung vermissen. 

Zusätzliche Hinweise: $rvm --debug get head enthält keine Installationshinweise mit Ausnahme der oben angegebenen Warnung.

Update: Durch Aufruf von rvm system wird das Problem behoben, jedoch nur in der aktuellen Shell-Sitzung. $echo $PATH produziert jetzt: 

:/usr/local/heroku/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/rvm/bin:

Was ist eine dauerhafte Lösung?

25
Johnz133

Ich habe das gleiche problem mit rvm 1.25.26.

lösung:

Ich habe ~/.bashrc wie folgt geändert: 

## rvm
PATH="$GEM_HOME/bin:$HOME/.rvm/bin:$PATH" # Add RVM to PATH for scripting
[ -s ${HOME}/.rvm/scripts/rvm ] && source ${HOME}/.rvm/scripts/rvm

verursacht:

Die Warnung wird an der Funktion __rvm_path_match_gem_home_check () in $HOME/.rvm/scripts/functions/cli ausgelöst.

Wenn der Anfang von $PATH nicht mit $GEM_HOME/bin beginnt, wird eine Warnmeldung angezeigt.

__rvm_path_match_gem_home_check()
{
  (( ${rvm_silence_path_mismatch_check_flag:-0} == 0 )) || return 0
  [[ -n "${GEM_HOME:-}" ]] || return 0
  case "$PATH:" in
    ($GEM_HOME/bin:*) true ;; # all fine here
    (*:$GEM_HOME/bin:*)
      __rvm_path_match_gem_home_check_warning "is not at first place"
      ;;
    (*)
      __rvm_path_match_gem_home_check_warning "is not available"
      ;;
  esac
}
53
utwang

In meinem Fall hatte Heroku meiner .bashrc Folgendes hinzugefügt:

### Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"

Beachten Sie, wie es sich vor dem Pfad befindet. Alles, was ich tun musste, war es zu wechseln:

### Added by the Heroku Toolbelt
export PATH="$PATH:/usr/local/heroku/bin"

Und mein Problem wurde gelöst!

Wenn Sie kein Heroku haben, suchen Sie nach etwas anderem, das sich möglicherweise Ihrem Weg voranstellt. Wirklich, RVM will nur sicherstellen, dass es eine gute Chance hat, Ruby zu laden, bevor Edelsteine, die sich in den Pfad einschließen, geladen werden. 

15
Matthew Cullum

Die Lösung sollte laufen 

$rvm install Ruby-head
$rvm use Ruby-head

mit einem optionalen $rvm docs generate-ti

Ich habe auf meinem System eine veraltete Version von Ruby verwendet und diese auf die aktuelle Version aktualisiert.

5
Johnz133

Durchsuchen Sie Ihre Konfigurationsdateien nach:

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

Ersetzen Sie diese Zeile durch:

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

Um sicherzustellen, dass der RVM-Code am Anfang Ihres $ PATH steht. Stellen Sie außerdem sicher, dass sich kein anderer Code am Anfang von $ PATH befindet.

3
Mirror318

Da ich die Ubuntu-Version von rvm verwendete, musste ich dies in mein .profile einfügen:

PATH="$GEM_HOME/bin:/usr/share/rvm/bin:$PATH" # Add RVM to PATH for scripting
[ -s /usr/share/rvm/scripts/rvm ] && source /usr/share/rvm/scripts/rvm
1
Karen

Recht. Ich würde diese Antwort verdoppeln, da ich stundenlang ohne Erfolg recherchierte. Ich hoffe, dass dies jemandem etwas Zeit erspart.

Mein Problem war, dass 2 Ruby-Köpfe installiert waren und anscheinend war auch die Ruby-Version ein Problem.

➜ rvm list                   
Warning! PATH is not properly set up, '/home/ma/.rvm/gems/Ruby-1.8.7-head/bin' is not at first place.
         Usually this is caused by Shell initialization files. Search for 'PATH=...' entries.
         You can also re-add RVM to your profile by running: 'rvm get stable --auto-dotfiles'.
         To fix it temporarily in this Shell session run: 'rvm use Ruby-1.8.7-head'.
         To ignore this error add rvm_silence_path_mismatch_check_flag=1 to your ~/.rvmrc file.

rvm rubies

=> Ruby-1.8.7-head [ x86_64 ]
   Ruby-1.8.7-p374 [ x86_64 ]
   Ruby-2.3.0 [ x86_64 ]
   Ruby-2.4.0 [ x86_64 ]
 * Ruby-head [ x86_64 ]

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

In diesem Fall (bei allen oben genannten Lösungen, this und this ), wenn Sie meinen Standardwert auf Ruby-head [ x86_64 ] setzen und das Terminal neu starten, wird Warning! UND meine aktuelle Ruby-Version beibehalten, wie im obigen Snippet gezeigt.

Um das zu beheben:

rvm remove Ruby-1.8.7-head

Wenn ich jetzt das Terminal neu starte:

➜ rvm list                  

rvm rubies

   Ruby-1.8.7-p374 [ x86_64 ]
   Ruby-2.3.0 [ x86_64 ]
   Ruby-2.4.0 [ x86_64 ]
=* Ruby-head [ x86_64 ]

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

Es scheint, und am Ende von .bashrc müssen Sie sicherstellen, dass der Pfad des Rvm am Anfang von $PATH

0
allenfantasy