Lo anterior no funciona la primera vez, funciona la segunda vez.
Intente establecer la versión de ruby en 2.0.0 para cualquier nueva ventana de shell.
Haciendo
$ 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
Entonces haciendo lo mismo
$ rvm use 2.0.0 --default
ahora no da 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 .bashrc
archivo 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 programas de salida verde:
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
~/.bashrc
,~/.bash_profile
, correrrvm get stable --auto-dotfiles
, repetirá la comprobación~/.bashrc
,~/.bash_profile
y~/.profile
muchas veces ... esta respuesta se fijó finalmente! Ran: ¡rvm reset
y se deshizo de las advertencias! (En mi humilde opinión ... RVM es demasiado quisquilloso para ser el primero en el camino ... Si pongo algo más en mi camino, sé lo que estoy haciendo)rvm reset
rvm reset
(el mensaje se mostrará una última vez), ahora, cada vez que emito un comando rvm, no más advertencias de PATH.rvm help
devuelve una pista bastante aterradora pararvm reset
: eliminar todas las configuraciones predeterminadas y del sistema 😄La respuesta fue poner esto:
** en la PARTE INFERIOR ** (última línea - ¡importante!) de mi archivo .bashrc. Lo tenía en mi archivo .bash_profile (estoy en Ubuntu) y eso solo funcionó parcialmente, lo que provocó errores confusos.
fuente
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
para Homebrew es probablemente uno común que entra en conflicto con rvm.rvm reset
lo hará automáticamente ...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!)
fuente
Probé la solución de Michael Durrant y no funcionó para mí. pero corrí
rvm get stable --auto-dotfiles
y empezó a funcionar como deseaba.Espero eso ayude
fuente
rvm default
en la parte inferior de miconfig.fish
archivo. el comandorvm reset
no ayudó a mantener abierta la ventana del terminal. Este comando funcionó. Mi salida: pastebin.com/1jUCSGnPbash
intérprete, y debería haber verificado esos archivos de configuración también ..rvm default
línea. Es mejor ahora ..Esta no es una respuesta a la pregunta formulada, sino a la pregunta relacionada que la mayoría de los comentaristas / respondedores han preguntado: ¿Por qué necesita poner la línea rvm en la parte inferior del archivo rc de shell?
La respuesta es simple.
$PATH
, y.bashrc
(o equivalente para su shell predeterminado) se lee e interpreta línea por línea de arriba a abajo.Así que imagina el siguiente escenario:
Claramente, si algo está presente en el archivo de inicio de shell después de la línea RVM y realiza algún cambio en $ PATH, más específicamente si antepone directorios a
$PATH
, entonces esos cambios empujarán los directorios agregados por rvm hacia abajo 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.
fuente
Solo agrego mi experiencia: si está usando
.bash_profile
, verifique si.bashrc
no está interfiriendo . Matar.bashrc
a favor de una configuración Bash única.bash_profile
funciona en este caso.fuente
.bashrc
se ejecuta para cada shell interactivo anidado;.bash_profile
sólo se ejecuta en el primer shell bash introducido, es decir, el shell de inicio de sesión. Las variables generalmente deben establecerse.bash_profile
, mientras que las funciones, alias, etc. (cosas que no se transmiten con el entorno heredado normal) deben establecerse.bashrc
.Tengo una pregunta de seguimiento a esto (me gustaría poder simplemente agregar un comentario, pero no tengo suficientes créditos). Tuve este mismo problema, y cuando seguí el script rvm que se sugirió usar
--auto-dotfiles
, me metí en problemas, ya que de alguna manera el script de shell borró mi archivo .bashrc_profile .De todos modos, finalmente llegué a la misma respuesta enumerada anteriormente, colocando esta línea en la parte inferior del archivo .bashrc .
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
¿Descubrió por qué funciona de la manera que lo hace, y no con la línea en el medio del archivo .bashrc? ¿Tiene algo de 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?
fuente
Estaba enfrentando el mismo problema. Encontré eso en el archivo bashrc
múltiples entradas para rvm. Comenté una entrada y está funcionando bien.
fuente
Limpié todo lo que tenía un .rvm de mi línea PATH = en mi .zshrc
Eso solucionó el problema para mí, donde las otras respuestas aquí (obtener el script rvm o estabilizarse con archivos de puntos automáticos) no lo hicieron.
fuente
He encontrado que este comando es muy útil. Resuelve mi caso. Entonces, si alguien tiene el mismo problema, pruebe esto:
rvm get stable --auto-dotfiles
fuente
rvm install ruby-head
Se solucionó el problema para mí: consumía poco tiempo, pero funcionó. No estoy seguro si eso hizo alguna actualización no pronunciada en mis archivos de bash.fuente
Terminé eliminando
~/.profile
,~/.bashrc
y~/.zshrc
.Básicamente, solo lo mantuve
~/.bash_profile
en mi mac. Y funciona.Creo que en mi caso hay:
en estos archivos, y esas configuraciones duplicadas confunden
rvm
fuente
Descargo de responsabilidad
Porque desarrollo principalmente usando Python, por lo que no estoy seguro de si esta solución te proporcionaría un env ruby correcto o simplemente cambiaría la ruta y eliminaría la advertencia
Antecedentes
En mi caso, lo instalé
rvm
primero y luegopyenv
más tarde. La configuración de ambos cambiará$PATH
. De la advertencia, parece que rvm siempre quiere ser el primero en el camino$ echo $PATH
$HOME/.rvm/gems/ruby-2.6.3/bin: ......
Pero si agrega
eval "$(pyenv init -)"
lo requerido porpyenv
, cambiará su$PATH
a$ echo $PATH
$HOME/.pyenv/shims:$HOME/.rvm/gems/ruby-2.6.3/bin: ......
Mi solución
$ rvm use system
# Volver al sistema ruby$ rvm use ruby-2.6.3
# Cambie a la versión que necesita usarrvm
cambiará la ruta a lo que le gusta, entonces no volverá a ver la advertencia molesta.fuente
Funcionó después de comentar las 2 líneas duplicadas superiores y agregarlas en la parte inferior. No olvide reiniciar el terminal para que funcione.
fuente
Puedes añadir
a su
~/.rvmrc
archivo. Eso es lo que sugiere ahora el mensaje de advertencia.fuente
PATH
suena intrusivo, y como mucho protector , decidí publicar esta respuesta. Me tomaré el tiempo para repensar mi respuesta y mejorarla en función de sus comentarios :)ARREGLÉ ESTE PROBLEMA. INTENTE UTILIZAR EL COMANDO COMO ESTE:
AÑADIR -p353 u otro detalle de su versión al final de la línea
fuente