Je viens d'installer RVM, mais je ne peux pas le faire fonctionner. J'ai une telle ligne à la fin de mon fichier .profile
:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
J'ai essayé de lancer source .profile
et de redémarrer le terminal, mais quand même, quand je lance rvm use 1.9.2
, je reçois:
RVM is not a function, selecting rubies with 'rvm use ...' will not work.
Mon système est Ubuntu 11.10.
Vous n'utilisez pas de shell de connexion.
Le processus d'activation de l'indicateur de connexion est décrit ici , quelques détails sur ce qu'est un shell de connexion peuvent être trouvés ici .
Ainsi, vous devez cocher l'option "Exécuter en tant que shell de connexion" dans les paramètres du terminal Gnome. Il est nécessaire d'ouvrir un nouveau terminal après avoir défini le drapeau.
Parfois, il est nécessaire de définir la commande sur /bin/bash --login
.
Pour les connexions remote, il est important de comprendre les différences entre l'exécution d'une session interactive ssh
et l'exécution de commandes simples.
Lorsque vous exécutez ssh server
et que vous utilisez ensuite le serveur de manière interactive, vous utilisez le shell de connexion par défaut et tout va bien, mais pour ssh server "command"
, vous n'utilisez pas le login et vous devez l'exécuter avec ssh server 'bash -lc "command"'
.
Toute invocation à distance peut poser le même problème que l’exécution d’une seule commande avec ssh
.
Vous devez exécuter ce qui suit
$ source ~/.rvm/scripts/rvm
puis lancez ceci
$ 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 connaître les exigences de dépendance pour votre système d'exploitation.
Source: https://rvm.io/rvm/install/
J'ai oublié de mentionner que vous devez mettre ce code dans votre fichier ~/.bashrc ou ~/.zshrc et vous n'aurez plus besoin de l'écrire à nouveau. À votre santé!
Pour résoudre de manière permanente cette ligne suivante, il suffit de couper/coller:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
De: fichier ~/.bash_profile
À: fichier ~/.bashrc
La raison pour laquelle cela fonctionne est que .bashrc
est exécuté à chaque fois que vous entrez dans un terminal, et .bash_profile
à chaque fois que vous vous connectez. C'est pourquoi la solution /bin/bash --login
fonctionne, mais vous devez le faire chaque fois que vous entrez dans un terminal. De cette façon, vous êtes prêt jusqu'à votre prochain format, et vous oublierez tout cela d'ici là :)
Moi aussi j'ai fait face à ce problème. Enfin, j'ai exécuté cette ligne sur le terminal.
source ~/.rvm/scripts/rvm
Le problème est résolu. Parce que cette ligne rendra l'instance RVM une fonction pour un temps particulier.
Le dernier RVM (version 1.11.6 (stable)) a cessé de fonctionner sur Ubuntu (10.10 - 64 bits - ringard gnat ou autre) - je n'arrêtais pas de
"RVM n'est pas une fonction, la sélection de rubis avec 'utilisation de la RVM ...' ne fonctionnera pas."
Auparavant, j'avais reçu le message, mais "rvm 1.9.3-p0@Rails321" fonctionnait. Maintenant, cela ne fonctionnerait pas - vous ne pouviez pas changer de gemsets du tout.
Rien n’a fonctionné, jusqu’à ce que j’ai trouvé ceci - faites-en la dernière ligne dans /home/your-name/.bashrc
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
Comme vous l'avez dit, l'erreur affichée pourrait être la suivante.
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.
Comme dit plus haut, tapez simplement '/bin/bash --login ' dans votre terminal (après le redémarrage de votre terminal), puis tapez la commande 'rvm use 1.9.3' (par exemple) même version.
Il suffit d’exécuter la commande 'Ruby -v' pour confirmer que le RVM utilise la version mise à jour de Ruby.
J'ai eu ce problème aussi sur une nouvelle installation de rvm, et aucune des réponses ici ne le résout. En accédant au site officiel de rvm, dans la section des bases, ils ont cette commande:
# from http://rvm.io/rvm/basics
source $ (rvm 1.9.3 do rvm env --path)
Vous devriez changer 1.9.3 pour la version de Ruby que vous voulez réellement, et cela va faire de rvm une fonction indépendamment du type de shell.
Peut-être que vous pouvez essayer les belows:
Exécutez bash --login
puis exécutez rvm use 2.0.0
.
même si vous avez accepté une réponse, je voudrais suggérer une autre façon .. ~/.bashrc est chargé avant l’ouverture de tout shell. Ajoutez cette ligne à la fin de cela, et vous n'avez besoin de rien de cette chose Shell Shell de connexion
Toutes les réponses ci-dessus sont valables. Mais quand je suis confronté au même problème, la solution est la suivante:
Sudo chsh -s $(which zsh) $USER
Assurez-vous que le code suivant se trouve au bas de votre .zshrc
après avoir installé la dernière version de RVM utilisant probablement CURL depuis site officiel de RVM
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
source ~/.profile
POINT LE PLUS IMPORTANT: Assurez-vous que dans votre fichier .zshrc
chaque exportation vers PATH
est ajoutée avec :$PATH
. Ce qui, je pense, était la racine de mes problèmes même après avoir suivi les étapes ci-dessus.
poster tous mes problèmes de RVM n'étant pas une fonction parti. Si cela ne fonctionne toujours pas, donnez une trace d'erreur ici. Après quelques heures de lutte pour résoudre ce problème, je suis certain d’avoir vu toutes les erreurs connexes.
J'espère que ça aide. À votre santé!
Ouvrez le terminal, puis accédez à Edition> Préférences de profil, puis cliquez sur l'onglet "Titre et commande" et cochez la case "Exécuter la commande en tant que login shell".
Boot Up a Bash et maintenant vous pouvez installer Gems directement depuis le terminal sans utiliser Sudo et avec l'erreur "RVM n'est pas une fonction, la sélection de rubis avec 'utilisation de rvm ...' ne fonctionnera pas." éliminé.
À votre santé.
Procédure d'installation de Ruby 1.9.3-p125 sur Mac OSX 10.8 Mountain Lion
Remarques:
Pour installer Ruby, vous devrez peut-être spécifier le compilateur Clang:
$ rvm install 1.9.3p125 --with-gcc = clang
Si RVM s'acharne sur/usr/local/rvm introuvable, vous devez créer un lien:
$ ln -s/Utilisateurs/[votre nom d'utilisateur]/.rvm/usr/local/rvm
source ~/.bash_profile
... devrait faire l'affaire ..., probablement besoin de vous déconnecter et vous reconnecter.
Comment recharger un fichier .bash_profile à partir de la ligne de commande?
Les instructions «officielles» sont là: https://rvm.io/integration/gnome-terminal/
J'ai eu la même erreur, mais aucune des solutions sur cette page n'a semblé fonctionner. Pour moi, il suffisait d'ajouter l'exécutable rvm
à mon chemin:
PATH=$PATH:/usr/local/rvm/bin/
Et voilà!
J'ai eu la même erreur parce que j'avais déjà installé l'ancienne version de rvm Ruby-rvm avec la commande apt-get.
J'ai résolu le problème en supprimant la ligne de script pour configurer l'ancien fichier RVB dans le fichier .bashrc.
Vérifiez l'ancien script de configuration rvm puis exécutez le fichier source .profile
Pour ceux qui viennent avec le même problème et qui utilisent lubuntu comme moi, j'ai suivi ceci link :
Vous démarrez votre terminal avec
lxterminal -e "bash -il"
Merci à @mpapsis qui m'a orienté dans la bonne direction
Je l'ai corrigé en ajoutant cette ligne à .bash_profile:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a Shell session *as a function*
J'ai eu le même problème et je l'ai fait dans mon fichier .bash_profile et cela a fonctionné .source "$HOME/.rvm/scripts/rvm"
.