Acabo de instalar RVM, pero no puedo hacer que funcione. Tengo esa línea al final de mi .profile
archivo:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
Traté de ejecutar source .profile
y reiniciar el terminal, pero aún así, cuando ejecuto rvm use 1.9.2
obtengo:
RVM is not a function, selecting rubies with 'rvm use ...' will not work.
Mi sistema es Ubuntu 11.10.
Respuestas:
No estás utilizando un shell de inicio de sesión.
El proceso para 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. Se requiere abrir una nueva terminal después de esta configuración de la bandera.
A veces es necesario establecer el comando en
/bin/bash --login
.Para las conexiones remotas es importante comprender la diferencia entre ejecutar una
ssh
sesión interactiva y ejecutar comandos individuales.Mientras se ejecuta
ssh server
y luego trabaja con el servidor de manera interactiva, está utilizando el shell de inicio de sesión de forma predeterminada y todo está bien, pero parassh server "command"
no utilizar el shell de inicio de sesión, sería necesario ejecutarlossh server 'bash -lc "command"'
.Cualquier invocación remota puede tener el mismo problema que ejecutar un solo comando con
ssh
.fuente
rvm get stable --auto
y verifique la configuración de su terminal--auto
había quedado en desuso a favor, por--auto-dotfiles
lo que el comando ahora esrvm get stable --auto-dotfiles
Necesitas ejecutar lo siguiente
entonces ejecuta esto
y si consigues
el problema esta resuelto.
También debe ejecutar
user$ rvm requirements
para ver los requisitos de dependencia para su sistema operativoFuente: https://rvm.io/rvm/install/
Olvidé mencionar que necesita poner este código en su archivo ~ / .bashrc o ~ / .zshrc y no necesitará volver a escribir este código. ¡Salud!
fuente
Para resolver esto permanentemente, simplemente corte / pegue la siguiente línea:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
De:
~/.bash_profile
archivoPara:
~/.bashrc
archivoLa razón por la que esto funciona es que
.bashrc
se ejecuta cada vez que ingresa al terminal y.bash_profile
cada vez que inicia sesión. Es por eso que la solución/bin/bash --login
funciona, pero debe hacerlo cada vez que ingresa a la terminal. De esta forma, estará configurado hasta su próximo formato, y olvidará todo esto para entonces :)fuente
~/.bashrc
lugar de~/.bash_profile
.Yo también enfrenté este problema. Finalmente ejecuté esta línea en la terminal.
El problema está solucionado. Debido a que esta línea hará que la instancia RVM sea una función para un momento en particular.
fuente
El último RVM (rvm 1.11.6 (estable)) dejó de funcionar en Ubuntu (10.10 - 64 bit - nerdy gnat o lo que sea) - Seguí recibiendo
"RVM no es una función, seleccionar rubíes con 'uso de rvm ...' no funcionará".
Antes recibí el mensaje, pero 'rvm 1.9.3-p0@rails321' funcionaría. Ahora, no funcionaría, no podrías cambiar gemas en absoluto.
Nada funcionó, hasta que encontré esto, haga de esta la ÚLTIMA línea en
/home/your-name/.bashrc
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
fuente
Como dijiste, el error que se muestra podría ser el siguiente.
Como se dijo anteriormente, simplemente escriba ' / bin / bash --login ' en su terminal (después de reiniciar su terminal), luego escriba el comando y 'rvm use 1.9.3' (por ejemplo) y comenzará a usar la misma versión.
Simplemente ejecute el comando 'ruby -v' para confirmar que el RVM está utilizando la versión actualizada de Ruby.
fuente
También tuve este problema en una nueva instalación de rvm, y ninguna de las respuestas aquí lo solucionó. Al ingresar al sitio oficial de rvm, en la sección de conceptos básicos, tienen este comando:
Debería cambiar 1.9.3 para la versión ruby que realmente desea, y hará que rvm sea una función independientemente del tipo de shell.
fuente
aunque haya aceptado una respuesta, me gustaría sugerir otra forma ... ~ / .bashrc se carga antes de abrir cualquier shell. Agregue esa línea al final de eso, y no necesita nada de ese shell de inicio de sesión
fuente
Quizás puedas probar a continuación:
fuente
Corre
bash --login
y luego corrervm use 2.0.0
.fuente
Abra la Terminal y luego vaya a Edición> Preferencias de perfil y luego vaya a la pestaña " Título y comando " y marque " Ejecutar comando como shell de inicio de sesión ".
Inicie un Bash y ahora puede instalar Gems directamente desde el terminal sin el uso de sudo y se eliminará el error " RVM no es una función, seleccionar rubíes con 'rvm use ...' no funcionará ".
Salud.
fuente
Todas las respuestas anteriores son válidas. Pero cuando enfrenté el mismo problema, la solución fue la siguiente:
sudo chsh -s $(which zsh) $USER
Asegúrese de que el siguiente código esté en la parte inferior de su
.zshrc
después de haber instalado el último RVM, probablemente usando CURL del sitio oficial de RVMPUNTO MÁS IMPORTANTE: Asegúrese de que en su
.zshrc
archivoPATH
se adjunte cada exportación a:$PATH
. Lo cual creo que fue la raíz de mis problemas incluso después de seguir los pasos anteriores.publicar esto todos mis problemas de RVM No ser una función desaparecieron. Si aún no funciona, dé un seguimiento de error aquí. Después de algunas horas de lucha para resolver este problema, estoy seguro de que debo haber visto todos los errores relacionados.
Espero eso ayude. ¡Salud!
fuente
export PATH="/usr/bin:"
. Te pedirá que lo añadas$PATH
. Esta fue la causa de uno de mis problemas. Por lo tanto, todosexport PATH
deberían haberse$PATH
agregado para que antes de la exportación, cualquiera que sea laPATH
variable que se haya agregado. De todos modos, bien que esto fue útil.Procedimiento para instalar Ruby 1.9.3-p125 en Mac OSX 10.8 Mountain Lion
http://www.frederico-araujo.com/2011/07/30/installing-rails-on-os-x-lion-with-homebrew-rvm-and-mysql/
Notas:
Para instalar ruby, es posible que deba especificar el compilador clang:
$ rvm install 1.9.3p125 --with-gcc = clang
Si no se encuentra RVM quejas sobre / usr / local / rvm, debe crear un enlace:
$ ln -s / Users / [su nombre de usuario] /. rvm / usr / local / rvm
fuente
... debería hacer el truco ..., probablemente necesite cerrar sesión e iniciar sesión nuevamente.
¿Cómo recargar .bash_profile desde la línea de comandos?
fuente
Obtuve el mismo error porque alguna vez instalé la versión anterior de rvm ruby-rvm con el comando apt-get.
Resolví el problema eliminando la línea de script para configurar el antiguo rvm en el archivo .bashrc.
Verifique el antiguo script de configuración de rvm y luego ejecute el código fuente.
fuente
Las instrucciones «oficiales» están allí: https://rvm.io/integration/gnome-terminal/
fuente
Lo arreglé agregando esta línea a .bash_profile:
fuente
Tuve el mismo error, pero ninguna de las soluciones en esta página parecía funcionar. Para mí fue suficiente agregar el
rvm
ejecutable a mi ruta:Et voila!
fuente
Tuve el mismo problema e hice esto en mi .bash_profile y funcionó.
source "$HOME/.rvm/scripts/rvm"
.fuente
Para aquellos que vienen con el mismo problema y están usando lubuntu como yo, seguí este enlace :
Comienzas tu terminal con
Gracias a @mpapsis que me indicó la dirección correcta.
fuente
Mi manera inmunda de cambiar la versión de ruby es
rvm alias create default ruby-2.2.3 && source ~/.bashrc && rvm list
funciona porque tengo la línea debajo de mi ~ / .bashrc pero extrañamente no hace el trabajo automáticamente.
[[ -s "/usr/local/rvm/bin/rvm" ]] && source "/usr/local/rvm/bin/rvm"
Traté de conectarme con --login a mi contenedor acoplable
pero en este caso el contenedor permanece abierto en segundo plano y no puedo ingresar comandos.
Intenté zhc y terminal con la opción "abrir con
/bin/bash --login
"fuente