ruby - instalar - rvm install rails
La instalación de rvm no funciona: "RVM no es una función" (20)
Abra el terminal y luego vaya a Editar> 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 ".
Arranque un Bash y ahora puede instalar gemas directamente desde el terminal sin usar sudo y el error " RVM no es una función, la selección de rubíes con ''rvm use ...'' no funcionará. " Se eliminará.
Aclamaciones.
Acabo de instalar RVM, pero no puedo hacer que funcione. Tengo esa línea al final de mi archivo .profile
:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
Intenté ejecutar la source .profile
y reiniciar el terminal, pero aún así, cuando ejecuto rvm use 1.9.2
:
RVM is not a function, selecting rubies with ''rvm use ...'' will not work.
Mi sistema es Ubuntu 11.10.
Como dijiste, el error que se muestra podría ser el siguiente.
RVM is not a function, selecting rubies with ''rvm use ...'' will not work.
You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for a example.
Como se dijo anteriormente, simplemente escriba '' / bin / bash --login '' en su terminal (después de reiniciar su terminal), luego escriba el comando ''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á usando la versión actualizada de Ruby.
Ejecute bash --login
y luego ejecute rvm use 2.0.0
.
El último RVM (rvm 1.11.6 (estable)) dejó de funcionar en Ubuntu (10.10 - 64 bit - mosquito nerdy o lo que sea) - seguí recibiendo
"RVM no es una función, seleccionar rubíes con ''rvm use ...'' no funcionará".
Antes recibí el mensaje, pero ''rvm 1.9.3-p0@rails321'' funcionaría. Ahora, no funcionaría, no podrías cambiar los gemsets 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"
Las instrucciones «oficiales» están allí: here
Lo arreglé agregando esta línea a .bash_profile:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
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 necesita ejecutar user$ rvm requirements
para ver los requisitos de dependencia para su sistema operativo
Fuente: https://rvm.io/rvm/install/
Olvidé mencionar que necesita poner este código en su archivo ~ / .bashrc o ~ / .zshrc y no necesitará escribir este código nuevamente. ¡Aclamaciones!
No está utilizando un shell de inicio de sesión.
El proceso para habilitar el indicador de inicio de sesión se describe here , también se pueden encontrar algunos detalles sobre qué es un shell de inicio de sesión here .
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 esta configuración de la bandera.
A veces es necesario configurar el comando en /bin/bash --login
.
Para las conexiones remotas , es importante comprender la diferencia entre ejecutar una sesión ssh
interactiva y ejecutar comandos individuales.
Mientras ejecuta el ssh server
y 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 para el ssh server "command"
no está utilizando el shell de inicio de sesión y se requerirá que lo ejecute con el ssh server ''bash -lc "command"''
.
Cualquier invocación remota puede tener el mismo problema que ejecutar un solo comando con ssh
.
Para aquellos que vienen con el mismo problema y están usando lubuntu como yo, seguí este link :
Comienzas tu terminal con
lxterminal -e "bash -il"
Gracias a @mpapsis que me indicó la dirección correcta.
Para resolver esto de forma permanente solo corte / pegue la siguiente línea:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
De: ~/.bash_profile
file
Para: ~/.bashrc
archivo
El motivo por el que 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 ingrese a la terminal. De esta manera, estará configurado hasta su próximo formato, y olvidará todo esto para entonces :)
Procedimiento para instalar Ruby 1.9.3-p125 en Mac OSX 10.8 Mountain Lion
- Ya instaló el último XCode (> = 4.3) y la línea de comandos del compilador Objective-C "clang".
- Debe ejecutar el shell "bash" para que este procedimiento funcione.
- Ir a Preferencias del sistema
- Haga clic en "Usuarios y grupos"
- Haga clic en el bloqueo en la parte inferior izquierda del panel e ingrese su contraseña para desbloquearla.
- "Ctrl-Click" en el ícono de usuario en el panel izquierdo del panel y elige "Opciones avanzadas ..."
- Cambie el Shell de inicio de sesión a "/ bin / bash"
- Cerrar las preferencias
- Abra una ventana de terminal (presione comando + barra espaciadora y escriba "terminal")
- Siga las instrucciones en:
Notas:
Para instalar ruby, es posible que necesites especificar el compilador clang:
$ rvm install 1.9.3p125 --with-gcc = clang
Si RVM se queja de / usr / local / rvm no encontrado, necesita crear un enlace:
$ ln -s / Users / [su nombre de usuario] /. rvm / usr / local / rvm
Recibí el mismo error porque siempre había instalado la versión antigua de rvm ruby-rvm con el comando apt-get.
Resolví el problema eliminando la línea de script para configurar el rvm antiguo en el archivo .bashrc.
Verifique el antiguo script de configuración de rvm y luego ejecute el archivo .profile.
Tal vez usted puede probar belows:
- Su Terminal ->
- Editar ->
- Preferencias de perfil ->
- Título y comando ->
- Compruebe el "Ejecutar comando como shell de inicio de sesión"
- Hecho
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:
fuente $ (rvm 1.9.3 do rvm env --path)
Debe cambiar 1.9.3 para la versión de ruby que realmente desea, y hará que rvm sea una función independientemente del tipo de shell.
Todas las respuestas anteriores son válidas. Pero cuando enfrenté el mismo problema, la solución fue la siguiente:
- Actualizar ZSH. (Intenté actualizar directamente no funcionó por alguna razón. Así que desinstalé y reinstalé la versión actualizada desde here )
- Configure el shell predeterminado como zsh (es decir, si prefiere zsh) usando
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 la última RVM que probablemente esté usando CURL del sitio oficial de RVM[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" source ~/.profile
PUNTO MÁS IMPORTANTE: asegúrese de que en su archivo
.zshrc
todas las exportaciones aPATH
se agreguen con:$PATH
. 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 desapareció. Si aún así no funciona, dale un seguimiento de error aquí. Después de algunas horas de lucha para resolver este problema, estoy seguro de que he visto todos los errores relacionados.
Espero eso ayude. ¡Aclamaciones!
Tuve el mismo error, pero ninguna de las soluciones en esta página pareció funcionar. Para mí fue suficiente para agregar el ejecutable rvm
a mi ruta:
PATH=$PATH:/usr/local/rvm/bin/
Et voila!
Tuve el mismo problema y lo hice en mi .bash_profile y funcionó. source "$HOME/.rvm/scripts/rvm"
.
Yo también enfrenté este problema. Finalmente ejecuté esta línea en el terminal.
source ~/.rvm/scripts/rvm
El problema está arreglado. Debido a que esta línea hará que la instancia RVM sea una función para un tiempo particular.
aunque aceptó una respuesta, me gustaría sugerir otra forma ... ~ / .bashrc se carga antes de que se abra cualquier shell. Agregue esa línea al final de eso, y no necesita nada de eso de shell de inicio de sesión
source ~/.bash_profile
... debería hacer el truco ..., probablemente deba cerrar sesión e iniciar sesión nuevamente.