ruby - latest - RVM Advertencia! PATH no está configurado correctamente
rvm install fedora (7)
Acabo de instalar rvm en mi mac, pero recibo esta advertencia en comandos globales
¡Advertencia! PATH no está configurado correctamente, ''/usr/local/rvm/gems/ruby-1.9.3-p194/bin'' no se encuentra en primer lugar, generalmente esto se debe a los archivos de inicialización de shell - verifique que no haya ''PATH = .. . ''entradas, también podría ayudar a volver a agregar RVM a tus archivos de puntos:'' rvm get stable --auto-dotfiles '', para corregir temporalmente en esta sesión de shell:'' rvm use ruby-1.9.3-p194 ''.
Mi $ PATHS confirma la advertencia:
$echo :$PATH:
:/usr/local/rvm/bin:/usr/local/heroku/bin:/usr/local/rvm/gems/ruby-1.9.3-p194/bin:/usr/local/rvm/gems/ruby-1.9.3-p194@global/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:
Como se sugirió, primero probé rvm get stable --auto-dotfiles
sin éxito, luego revisé mis archivos de inicialización de shell. Mi /.bash_profile:
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
export PATH=/usr/local/share/python:$PATH
PATH=$PATH:$HOME/bin:/opt
Mi /Users/User/.bash_profile parece ser el culpable:
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*
La razón es que si elimino Heroku Toolbelt y las rutas rvm (que fueron respuestas sugeridas por otras preguntas de desbordamiento de pila), /usr/local/rvm/gems/ruby-1.9.3-p194/bin
estaría en primer lugar y el problema esta resuelto. Sin embargo, no sé qué hacer con el cinturón de herramientas Heroku. Además, ¿no debería PATH=/usr/local/rvm/bin:$PATH
colocar rvm primero de todos modos?
Debo faltar alguna solución trivial.
Notas adicionales: $rvm --debug get head
no produce notas de instalación al respecto, excepto por la advertencia publicada anteriormente.
Actualización: llamar rvm system
soluciona el problema, pero solo en la sesión de shell actual. $echo $PATH
ahora produce:
:/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:
¿Qué es una solución permanente?
Busque sus archivos de configuración para:
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
Reemplace esa línea con:
export PATH="$HOME/.rvm/bin:$PATH" # Add RVM to PATH for scripting
Para asegurarse de que el código RVM esté al inicio de su $ PATH. También asegúrese de que ningún otro código se ponga al comienzo de $ PATH.
Como estaba usando la versión ubuntu de rvm, necesitaba poner esto en mi .profile:
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
Derecha. Daría esta respuesta, ya que pasé horas investigando sin éxito. Espero que esto le salve a alguien más tiempo.
Mi problema fue tener 2 cabezas de rubí instaladas y, aparentemente, la versión de rubí también fue un problema.
➜ 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
En este caso, (probando todas las soluciones anteriores, this y this ), establezca mi valor predeterminado en ruby-head [ x86_64 ]
y reinicie el terminal ¡La Warning!
Y mi versión actual de ruby persistía como se muestra en el fragmento anterior.
Para arreglar eso:
rvm remove ruby-1.8.7-head
Ahora, si reinicio el terminal:
➜ 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
En mi caso, Heroku había agregado lo siguiente a mi .bashrc:
### Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"
Observe cómo se está preparando para el camino. Todo lo que tenía que hacer era cambiarlo por:
### Added by the Heroku Toolbelt
export PATH="$PATH:/usr/local/heroku/bin"
¡Y mi problema fue resuelto!
Si no tiene Heroku, busque cualquier otra cosa que pueda estar preparándose en su camino. Realmente, RVM solo quiere asegurarse de que tenga una buena oportunidad de cargar Ruby antes de que se carguen las gemas que se incluyen en el camino.
La solución fue correr.
$rvm install ruby-head
$rvm use ruby-head
con un $rvm docs generate-ti
opcional de $rvm docs generate-ti
Estaba usando una versión desactualizada de Ruby en mi sistema, actualizándola a la versión actual.
Parece que, y al final de .bashrc, debes garantizar que la ruta rvm esté al comienzo de $PATH
Tengo el mismo problema con rvm 1.25.26.
solución:
He modificado ~/.bashrc
siguiente manera:
## 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
causando
La advertencia se activa en la función __rvm_path_match_gem_home_check () en $HOME/.rvm/scripts/functions/cli
.
Si el comienzo de $PATH
no comienza desde $GEM_HOME/bin
, se muestra un mensaje de advertencia.
__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
}