La instalación de rvm no funciona: "RVM no es una función"

Resuelto amorfis asked hace 12 años • 22 respuestas

Acabo de instalar RVM, pero no puedo hacerlo funcionar. Tengo esta línea al final de mi .profilearchivo:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

Intenté ejecutar source .profiley reiniciar la terminal, pero aún así, cuando ejecuto rvm use 1.9.2obtengo:

RVM is not a function, selecting rubies with 'rvm use ...' will not work.

Mi sistema es Ubuntu 11.10.

amorfis avatar Feb 18 '12 05:02 amorfis
Aceptado

Necesitas ejecutar lo siguiente

$ source ~/.rvm/scripts/rvm

entonces ejecuta esto

$ type rvm | head -n 1

y si consigues

rvm is a function

el problema esta resuelto.

También debe ejecutar user$ rvm requirementspara ver los requisitos de dependencia para su sistema operativo.

Fuente: https://rvm.io/rvm/install/

Olvidé mencionar que debes poner este código en tu archivo ~/.bashrc o ~/.zshrc y no necesitarás escribir este código nuevamente.

Jorge García avatar Jun 19 '2012 16:06 Jorge García

No estás utilizando un shell de inicio de sesión.

El proceso de habilitar el indicador de inicio de sesión se describe aquí ; también se pueden encontrar algunos detalles sobre qué es un shell de inicio de sesión aquí .

Por lo tanto, debe marcar la opción "Ejecutar como shell de inicio de sesión" en la configuración del terminal Gnome. Es necesario abrir una nueva terminal después de configurar la bandera.

A veces es necesario configurar el comando en /bin/bash --login.


Para conexiones remotas , es importante comprender la diferencia entre ejecutar sshuna sesión interactiva y ejecutar comandos únicos.

Mientras ejecuta ssh servery luego trabaja con el servidor de forma interactiva, está utilizando el shell de inicio de sesión de forma predeterminada y todo está bien, pero ssh server "command"no está utilizando el shell de inicio de sesión y sería necesario ejecutarlo con ssh server 'bash -lc "command"'.

Cualquier invocación remota puede tener el mismo problema que ejecutar un solo comando con ssh.

mpapis avatar Feb 17 '2012 23:02 mpapis

Para resolver esto permanentemente, simplemente corte/pegue la siguiente línea:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

Desde el ~/.bash_profilearchivo

Archivar ~/.bashrc_

La razón por la que esto funciona es que .bashrcse ejecuta cada vez que ingresa a la terminal y .bash_profilecada vez que inicia sesión. Es por eso que la solución /bin/bash --loginfunciona, pero debes hacerlo cada vez que ingresas a la terminal. De esta manera estarás preparado hasta el próximo formato y olvidarás todo esto en ese momento :)

Haris Krajina avatar Apr 19 '2013 11:04 Haris Krajina

Yo también enfrenté este problema. Finalmente ejecuté esta línea en la terminal.

source ~/.rvm/scripts/rvm

El problema está solucionado. Porque esta línea hará que la instancia RVM sea una función durante un tiempo determinado.

Bastin Robin avatar May 05 '2014 14:05 Bastin Robin