ruby - instalar - Error "RVM no es una función"
rvm install rails (10)
Bueno, con león de montaña (10.8.3) lo que funcionó para mí fue editar / etc / profile
y agregando la línea mencionada anteriormente en la parte inferior del archivo:
if test -f ~/.rvm/scripts/rvm; then
[ "$(type -t rvm)" = "function" ] || source ~/.rvm/scripts/rvm
fi
RVM está instalado en mi máquina (ejecutando Mac OSX 10.6.8), correctamente y funciona bien. Lo extraño es que para ejecutarlo, tengo que usar source ~/.rvm/scripts/rvm
para cada nueva sesión. Intenté hacer un enlace simbólico desde /opt/local/bin/rvm
, pero cuando se ejecuta no hace nada. También intenté crear un enlace simbólico desde ~/.rvm/bin/rvm
a /opt/local/bin/rvm
, y cuando ejecuto rvm
en la Terminal, se muestra la página de ayuda, como se esperaba. Pero cuando intento rvm use some_ruby_version
, siempre muestra "RVM no es una función, seleccionar rubíes con ''rvm use ...'' no funcionará". ¿Cómo puedo arreglar esto?
Mi objetivo es llegar al punto en que no tenga que escribir el comando de origen en cada sesión, y por alguna razón ~/.profile
no se ejecuta.
Debe generar el script RVM en la sesión actual porque realiza cambios en el entorno de shell, y es absolutamente imposible que se realice desde un proceso secundario. Sus esfuerzos para ejecutar RVM como un comando externo no pueden tener éxito.
Para arreglar esto, tienes dos opciones:
- Configure su emulador de terminal para iniciar un shell de inicio de sesión, en lugar de un shell sin inicio de sesión, para que se
.profile
su.profile
. - En su lugar, modifique
.bashrc
a RVM de origen, lo que también funciona con shells que no son de inicio de sesión.
Para hacer lo segundo, solo puedes agregar a ~/.bashrc
:
if test -f ~/.rvm/scripts/rvm; then
[ "$(type -t rvm)" = "function" ] || source ~/.rvm/scripts/rvm
fi
Lo que me estaba jodiendo era asumir que mi ruta era correcta ya que estaba usando una que puedo ejecutar manualmente.
Aparentemente hay diferentes ejecutables o scripts que pueden usarse y están ubicados en diferentes lugares.
Pensé que el camino que Mina debería usar era este:
/usr/local/rvm/bin/rvm
Cuando en realidad era esto:
/usr/local/rvm/scripts/rvm
Ninguna de estas soluciones pareció redimir mi problema que estaba en Ubuntu 12.04 LTS.
Lo que hice es lo siguiente:
-
rvm get stable --auto-dotfiles
como se describe en la documentación de RVM here - Se agregó la
source ~/.profile
como la primera línea de: ~ / .bash_profile
No se documentarán todos estos pasos como errores desde la línea de comandos de RVM:
RVM no es una función, la selección de rubíes con ''rvm use ...'' no funcionará. Necesita cambiar sus preferencias de emulador de terminal para permitir el shell de inicio de sesión. A veces es necesario usar
/bin/bash --login
como comando. Visite https://rvm.io/integration/gnome-terminal/ para ver un ejemplo.
y
ADVERTENCIA: tiene el archivo ''~ / .profile'', puede querer cargarlo, para eso agregue la siguiente línea a ''/home/user_name/.bash_profile'':
fuente ~ / .profile
No deberías tener que editar nada como otros sugieren. Simplemente ingrese a la configuración de su terminal y seleccione el "Ejecutar comando como shell de inicio de sesión". Esto hará que .profile se ejecute en la siguiente instancia de terminal. Vuelva a abrir su terminal y debería poder usar rvm use 1.9.3
(o la versión que instaló).
Más información encontrada en rvm.io (que también es un gran lugar para respuestas)
No entendí lo que ~/.profile
hace correctamente; Necesitaba cambiar ~/.bash_profile
lugar. ¡Problema resuelto!
Si está utilizando zsh como shell en lugar de bash, debe:
1.
vi ~/.zshrc
2. Como dijo Matt, agregue:
if test -f ~/.rvm/scripts/rvm; then
[ "$(type -t rvm)" = "function" ] || source ~/.rvm/scripts/rvm
fi
3. Reinicie Terminall 4. ¡Listo!
rvm use 1.9.3
Trabajo wil
Tienes que hacer algunos ajustes.
Abre el terminal y ejecuta este comando.
source ~/.rvm/scripts/rvm
y luego vaya a edit > Title and command
y marque Run command as login shell
y ya está. Ahora no necesitas especificar la fuente cada vez.
Tuve el mismo problema. Encontré que el archivo .profile no se estaba actualizando, así que agregué el mismo comando que se agregó a .bash_profile:
[[-s "$ HOME / .rvm / scripts / rvm"]] && fuente "$ HOME / .rvm / scripts / rvm"
No sé si esta es la forma correcta, pero funcionó ...
Tuve este problema cuando me hice root. Probé muchas de las soluciones anteriores. Lo que finalmente funcionó fue salir de la raíz y ser un usuario regular. Que es lo que necesitaba de todos modos.