237 votes

rvm installation ne fonctionne pas: "RVM est pas une fonction"

Je viens d'installer RVM, mais ne peut pas le faire fonctionner. J'ai cette ligne à la fin de mon .profile le fichier:

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

J'ai essayé d'exécuter source .profile et le redémarrage du terminal, mais encore, lorsque j'exécute rvm use 1.9.2 je reçois:

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

Mon système Ubuntu 11.10.

436voto

Jorge García Points 2895

Vous devez exécuter la suite

user$ source ~/.rvm/scripts/rvm

puis exécutez ce

user$ type rvm | head -n 1

et si vous obtenez

rvm is a function

le problème est résolu.

Vous devez également exécuter user$ rvm requirements pour voir les exigences de dépendance pour votre système d'exploitation

Source: https://rvm.io/rvm/install/

J'ai oublier de mentionner que vous avez besoin de mettre ce code dans votre ~/.bashrc ou ~/.zshrc fichier et vous n'aurez pas besoin d'écrire ce code. Cheers!

241voto

mpapis Points 32015

Vous n'êtes pas à l'aide d'un shell de connexion.

Le processus d'activation de la connexion indicateur est décrit ici, aussi quelques détails sur ce qu'est un shell de connexion est peut être trouvée ici.

Ainsi, vous devez cocher l'option "Exécuter en tant qu'shell de connexion" dans le terminal de Gnome. Il est nécessaire d'ouvrir de nouvelles terminal après ce réglage, l'indicateur.

Parfois, il est nécessaire de définir la commande /bin/bash --login.


Pour la distance de connexions, il est important de comprendre la differene entre l'exécution interactive ssh session et de l'exécution des commandes uniques.

Lors de l'exécution d' ssh server et ensuite de travailler avec le serveur de manière interactive vous utilisez le shell de connexion par défaut et il est tout beau, mais pour l' ssh server "command" vous n'êtes pas en utilisant le shell de connexion, et il serait nécessaire pour l'exécuter avec ssh server 'bash -lc "command"'.

Tout l'invocation distante peut avoir le même problème que l'exécution de commande unique avec ssh.

106voto

Haris Krajina Points 3051

Pour résoudre définitivement ce juste de copier/coller la ligne suivante:

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

De: ~/.bash_profile le fichier

De: ~/.bashrc le fichier

Raison pour laquelle cela fonctionne est que l' .bashrc est exécuté à chaque fois que vous entrez dans le terminal, et .bash_profile chaque fois que vous vous connectez. C'est pourquoi la solution d' /bin/bash --login fonctionne, mais vous devez le faire chaque fois que vous entrez dans le terminal. De cette façon, vous êtes ensemble jusqu'à ce que votre prochain format, et vous fera oublier tout ça :)

29voto

Bastin Robin Points 101

J'ai moi aussi été confronté à ce problème. Enfin, j'ai exécuté cette ligne sur le terminal.

source ~/.rvm/scripts/rvm

Problème est résolu. Parce que cette ligne permettra de faire le RVM exemple une fonction pour un certain temps.

21voto

Rod McLaughlin Points 139

La dernière RVM (rvm 1.11.6 (stable)) a cessé de fonctionner sur Ubuntu (10.10 64 bits - ringard gnat ou quoi que ce soit) - j'ai continué à obtenir

"RVM est pas une fonction, la sélection de rubis avec" rvm utiliser ...' ne fonctionnera pas."

Avant, j'ai reçu le message, mais "rvm 1.9.3-p0@rails321" permettrait de travail. Maintenant, il ne fonctionne pas - vous ne pouvait pas changer gemsets à tous.

Rien n'a fonctionné, jusqu'à ce que j'ai trouvé ce - faire de cette DERNIÈRE ligne, en /home/your-name/.bashrc

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X