RVM est installé sur ma machine (sous Mac OSX 10.6.8) correctement et fonctionne correctement. La chose étrange est que pour l'exécuter, je dois utiliser source ~/.rvm/scripts/rvm
pour chaque nouvelle session. J'ai essayé d'en faire un lien symbolique vers /opt/local/bin/rvm
, mais lorsqu'il est lancé, il ne fait rien. J'ai également essayé de créer un lien symbolique de ~/.rvm/bin/rvm
à /opt/local/bin/rvm
et, lorsque j'exécute rvm
dans le terminal, il affiche la page d'aide, comme prévu. Mais lorsque j'essaie rvm use some_Ruby_version
, il affiche toujours "RVM n'est pas une fonction, la sélection de rubis avec" utilisation RVM ... "ne fonctionnera pas.". Comment puis-je réparer cela?
Mon objectif est de parvenir à un point tel que je n'ai pas ai à taper la commande source à chaque session et que, pour une raison quelconque, ~/.profile
ne s'exécute pas.
Je n'ai pas compris ce que ~/.profile
fait correctement. Je devais changer ~/.bash_profile
à la place. Problème résolu!
Vous devez source le script RVM dans la session en cours car il apporte des modifications à l'environnement Shell - et il est absolument impossible que cela soit fait à partir d'un processus enfant. Vos efforts pour exécuter RVM en tant que commande externe ne peuvent aboutir.
Pour résoudre ce problème, vous avez deux choix:
.profile
soit chargé..bashrc
en source RVM, ce qui fonctionne également pour les shells non connectés.Pour faire la seconde, vous pouvez simplement ajouter à ~/.bashrc
:
if test -f ~/.rvm/scripts/rvm; then
[ "$(type -t rvm)" = "function" ] || source ~/.rvm/scripts/rvm
fi
Si vous utilisez zsh comme Shell à la place de bash, vous devez:
1.
vi ~/.zshrc
2 . Comme Matt a dit, ajoutez:
if test -f ~/.rvm/scripts/rvm; then
[ "$(type -t rvm)" = "function" ] || source ~/.rvm/scripts/rvm
fi
3. Redémarrez Terminall 4. Terminé!
rvm use 1.9.3
Wil travail
Eh bien, avec Mountain Lion (10.8.3), l’édition de/etc/profile
et en ajoutant la ligne mentionnée précédemment au bas du fichier:
if test -f ~/.rvm/scripts/rvm; then
[ "$(type -t rvm)" = "function" ] || source ~/.rvm/scripts/rvm
fi
J'ai eu le même problème. J'ai trouvé que le fichier .profile n'était pas mis à jour, j'ai donc ajouté la même commande que celle ajoutée dans .bash_profile:
[[-s "$ HOME/.rvm/scripts/rvm"]] && source "$ HOME/.rvm/scripts/rvm"
Je ne sais pas si c'est la bonne façon, mais ça a fonctionné ...
Vous ne devriez pas avoir besoin de modifier quoi que ce soit comme le suggèrent d'autres. Il suffit d'aller dans les paramètres de votre terminal et sélectionnez la commande "Exécuter en tant que login Shell". Cela provoquera l’exécution de .profile sur la prochaine instance de terminal. Rouvrez votre terminal et vous devriez pouvoir utiliser rvm use 1.9.3
(ou la version que vous avez installée).
Plus d'informations trouvées sur rvm.io (qui est également un excellent endroit pour des réponses)
Vous devez faire quelques réglages.
Ouvrez le terminal et lancez cette commande.
source ~/.rvm/scripts/rvm
puis allez à edit > Title and command
et cochez Run command as login Shell
et vous avez terminé. Maintenant, vous n'avez pas besoin de spécifier la source à chaque fois.
Ce qui me gênait, c'était de supposer que mon chemin était correct puisque j'en utilisais un que je pouvais exécuter manuellement.
Apparemment, différents exécutables ou scripts peuvent être utilisés et sont situés à des endroits différents.
Je pensais que le chemin que Mina devrait utiliser était le suivant:
/usr/local/rvm/bin/rvm
Quand en réalité c'était:
/usr/local/rvm/scripts/rvm
J'ai eu ce problème quand je suis devenu root. J'ai essayé plusieurs des solutions ci-dessus. Ce qui a finalement fonctionné a été de quitter root et d’être un utilisateur régulier. C'est ce dont j'avais besoin de toute façon.
Aucune de ces solutions ne semblait racheter mon problème qui concernait Ubuntu 12.04 LTS.
Ce que j'ai fait est le suivant:
rvm get stable --auto-dotfiles
comme indiqué dans la documentation RVM icisource ~/.profile
en tant que première ligne de: ~/.bash_profileJe ne vais pas toutes ces étapes ont été documentées comme des erreurs de la ligne de commande RVM:
La RVM n’est pas une fonction, sélectionner les rubis avec "utilisation de la RVM ..." ne le fera pas travail. Vous devez modifier les préférences de votre émulateur de terminal pour autoriser login Shell. Parfois, il est nécessaire d'utiliser
/bin/bash --login
en tant que la commande. Veuillez visiter https://rvm.io/integration/gnome-terminal/ pour un exemple.
et
AVERTISSEMENT: Vous avez le fichier '~/.profile', vous voudrez peut-être le charger, Pour ce faire, ajoutez la ligne suivante à '/home/nom_utilisateur/.profil.bash':
source ~/.profile