manager instalar change ruby bash rvm ruby-2.0 .bash-profile

ruby - instalar - Obteniendo "¡Advertencia! PATH no está configurado correctamente "cuando se usa rvm use 2.0.0--default



rvm ruby version manager (13)

Esta no es una respuesta a la pregunta, sino a la pregunta relacionada que la mayoría de los comentaristas / respondedores han preguntado: ¿Por qué necesita colocar la línea rvm en la parte inferior del archivo shell rc?

La respuesta es simple.

  1. El código rvm que se carga pone los directorios binarios rvm ruby ​​en el "frente" de $PATH , y
  2. .bashrc (o equivalente para su shell predeterminado) se lee e interpreta línea por línea de arriba a abajo.

Entonces imagine el siguiente escenario:

$ 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/ruby-1.9.3-p547@global/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/ruby-1.9.3-p547@global/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

Claramente, si hay algo presente en el archivo init de shell después de la línea RVM y realiza cambios en $ PATH, más específicamente si precede directorios a $PATH , esos cambios presionarán los directorios agregados por rvm desde su primera posición. RVM, cuando se invoca, encontrará que sus directorios binarios ruby no están al principio de $PATH y BAM! recibirás la advertencia :).

Espero que eso aclare las cosas.

Arriba no funciona la primera vez, funciona la segunda vez.

Intenta establecer la versión de ruby ​​en 2.0.0 para cualquier ventana de shell nueva.

Obra

$ rvm use 2.0.0 --default

da

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

Luego haciendo lo mismo

$ rvm use 2.0.0 --default

ahora no da ningún error, es decir

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

pero las nuevas ventanas todavía me dan ruby ​​1.9.3, no 2.0.0

Mi archivo .bashrc tiene en él:

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

Mi .bash_profile tiene:

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

Molesto

rvm get stable

parece funcionar, pero al final de una gran cantidad de resultados verdes muestra:

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

Una nueva ventana de terminal con rvm list rubies muestra esto:

$ 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


Estaba atrapado después de desinstalar RvM con

rvm implode

luego de reinstalar rvm recibió el mismo mensaje de error. Después de mirar a través de la página de git hub de wayne seguin. Él enumera las herramientas en su página y recomienda usar

rvm reset

después de una instalación. Esto solucionó mi mensaje de error. No se necesitan ediciones de PATH.


Estaba enfrentando el mismo problema. Encontré eso en el archivo 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

entradas múltiples para rvm. Comenté una entrada y está funcionando bien.

#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


FIJÉ ESTE PROBLEMA. PRUEBA USAR COMANDO COMO ESTO:

rvm use 2.0.0-p353

AGREGUE -p353 u otro detalle de versión de usted al final de la línea


He encontrado que este comando es muy útil. Soluciona mi caso. Entonces, si alguien tiene el mismo problema, pruébelo: rvm get stable --auto-dotfiles


La respuesta fue poner esto:

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

** en el FONDO ** (última línea - ¡importante!) de mi archivo .bashrc. Lo tenía en mi archivo .bash_profile (estoy en Ubuntu) y eso solo funcionaba parcialmente, lo que llevaba a errores confusos.


Limpié todo lo que tenía un .rvm desde mi línea PATH = en mi .zshrc

Eso solucionó el problema para mí, donde las otras respuestas aquí (fuente del script rvm, o estable con archivos automáticos dot) no lo hicieron.


Probé la solución de Michael Durrant y no funcionó para mí. pero ejecuté rvm get stable --auto-dotfiles y comenzó a funcionar como lo deseaba.

Espero eso ayude


Simplemente agregando mi experiencia: si está utilizando .bash_profile , verifique si .bashrc no está interfiriendo . La .bashrc de .bashrc a favor de la configuración Bash individual por .bash_profile funciona en este caso.


Tal vez no sea la mejor manera de resolver esto, pero agregué esta línea en la parte inferior de mi .zshrc (¡también funcionará en .bashrc!)

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


Tengo una pregunta de seguimiento sobre esto (desearía simplemente agregar un comentario, pero no tengo suficientes créditos). Tuve el mismo problema, y ​​cuando seguí el script rvm que se sugirió usando --auto-dotfiles , me metí en problemas porque de alguna manera el script de shell eliminó mi archivo .bashrc_profile .

De todos modos, finalmente llegué a la misma respuesta que se menciona arriba, poniendo esta línea en la parte inferior del archivo .bashrc . [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

¿Encontraste por qué funciona de esa manera, y no con la línea en el medio del archivo .bashrc? ¿Tiene alguna claridad sobre la forma en que Unix está cargando la variable de entorno que hace que RVM funcione en una instancia y no en otra?


Terminé eliminando ~/.profile , ~/.bashrc y ~/.zshrc .

Básicamente solo mantuve ~/.bash_profile en mi mac. Y funciona.

Creo que en mi caso, hay:

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

en estos archivos, y esas configuraciones duplicadas confunden rvm


rvm install ruby-head Se arregló el problema para mí, rvm install ruby-head poco tiempo pero funcionó. No estoy seguro si eso hizo alguna actualización no confirmada a mis archivos bash.