web-dev-qa-db-fra.com

RVM n’est pas une fonction, sélectionner les rubis avec 'utilisation de la RVM ...' ne fonctionnera pas

Lister les versions de Ruby 

console:~$ rvm list

rvm rubies

Ruby-2.0.0-p481 [ i686 ]

# => - current
# =* - current && default
#  * - default

Essayez d'utiliser une version spécifique de Ruby

console:~$ rvm use 2.0.0

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.
122
user3678471

Votre console ne fonctionne pas en tant que shell de connexion et n'a donc pas accès à la fonction rvm. Si vous utilisez Ubuntu, vous pouvez:

  1. Ouvrir la console
  2. Sélectionnez Edition -> Préférences de profil
  3. Sélectionnez l'onglet: Titre et commande
  4. Case à cocher 'Exécuter la commande en tant que shell de connexion'
  5. Redémarrer le terminal
205
BroiSatse

Tapez bash --login à partir de votre terminal. Et puis donnez rvm use 2.0.0

92
inquisitive

Mon envoi est OSX Yosemite. Avait le même problème .... résolu en ajoutant ce qui suit

1) éditez et ajoutez[[-s "$ HOME/.rvm/scripts/rvm"]] &&. "$ HOME/.rvm/scripts/rvm"à.bash_profilefichier

2) Redémarrez le terminal et relancez la commande RVM

36
John Varghese

Il semble que votre machine virtuelle ne charge pas ".bash_profile" correctement. J'ai fait le réparer dans MAC OS X ou Ubuntu 14.04 en ouvrant un terminal et en écrivant:

source ~/.rvm/scripts/rvm
32
akbarbin

Si vous ne voulez pas que chaque fois que vous ouvrez un terminal, reprenez la suggestion ci-dessus, ajoutez simplement

source ~/.rvm/scripts/rvm

à la fin de ~/.bashrc

23
hhzhu

Même principe que les autres réponses, je pensais que c'était plus rapide que de rouvrir des terminaux :)

bash -l -c "rvm use 2.0.0"
13

L'erreur est due au fait que rvm ne fonctionne pas comme dans le shell de connexion. Par conséquent, essayez la commande ci-dessous:

/bin/bash --login

Vous pourrez exécuter les commandes rvm instantanément en tant que login Shell dans le terminal. 

Merci!

13
Sumit Munot

Vous devez ajouter source ~/.rvm/scripts/rvm à ~/.your_shellrc file. A partir de maintenant, lorsque vous chargerez un shell, Rvm sera chargé. 

Par exemple:

si vous utilisez zsh Shell, vous devez ajouter un fichier ~/.zshrc

si vous utilisez bash Shell, vous devez ajouter le fichier ~/.bashrc

Et ouvrez un nouvel onglet pour voir l’effet. 

5
Siva Praveen

Pour moi dans Ubuntu (18.08), j'ai ajouté la ligne ci-dessous dans .bashrc et cela fonctionne.

 source /home/username/.rvm/scripts/rvm

S'il vous plaît ajouter cette ligne.

2
Arjun

À partir d'une nouvelle installation Ubuntu 16.04

1) Terminal => Edit => Préférences de profil

2) Onglet Commande => Vérifier la commande Exécuter en tant que shell de connexion

3) Fermer et rouvrir le terminal

rvm --default use 2.2.4
1
WiredIn

FWIW- Je viens de découvrir cela aussi, c'était dans le contexte d'une course annulée de Selenium. Peut-être qu'un sous-shell a été instancié et laissé en place. Fermer la fenêtre du terminal et en ouvrir une nouvelle était tout ce que j'avais à faire. (macOS Sierra) 

0
user8099101