l'installation rvm ne fonctionne pas: "la RVM n'est pas une fonction"

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 courir source .profile et redémarrer le terminal, mais quand même, quand je cours 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.

221
demandé sur Tomasz Nurkiewicz 2012-02-18 02:54:18

20 réponses

vous n'utilisez pas de shell de connexion.

le processus d'activation de l'indicateur de connexion est décrit ici , aussi quelques détails sur ce qu'est un shell de connexion peuvent être trouvés ici .

ainsi, vous devez cocher l'option " exécuter comme shell de connexion " dans les paramètres du terminal Gnome. Il est nécessaire d'ouvrir un nouveau terminal après cette mise en drapeau.

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


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

pendant que vous lancez ssh server et que vous travaillez avec le serveur de façon interactive, vous utilisez le shell de connexion par défaut et tout va bien, mais pour ssh server "command" vous n'utilisez pas le shell de connexion et il serait nécessaire pour l'exécuter avec ssh server 'bash -lc "command"' .

toute invocation à distance peut avoir le même problème que l'exécution d'une commande unique avec ssh .

221
répondu mpapis 2013-09-02 20:10:07

vous devez exécuter ce qui suit

$ source ~/.rvm/scripts/rvm

puis lancez ce

$ 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'oublie la mention que vous devez mettre ce code en vous ~/.bashrc ou ~/.zshrc fichier et vous n'aurez pas besoin d'écrire ce code. Acclamations!

405
répondu Jorge García 2018-02-08 14:37:33

pour résoudre définitivement ce juste couper / coller la ligne suivante:

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

De: ~/.bash_profile fichier

: ~/.bashrc fichier

raison cela fonctionne est que .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 /bin/bash --login travaille, mais vous devez le faire chaque fois que vous entrez dans le terminal. De cette façon, vous êtes prêt jusqu'à votre prochain format, et vous oublierez tout cela :)

99
répondu Haris Krajina 2014-01-04 18:26:45

moi aussi j'ai fait face à ce problème. Finalement j'ai exécuté cette ligne sur terminal.

source ~/.rvm/scripts/rvm

problème corrigé. Parce que cette ligne va faire de L'instance RVM une fonction pour un temps particulier.

27
répondu Bastin Robin 2014-05-05 14:14:35

le dernier RVM (RVM 1.11.6 (stable)) a cessé de fonctionner sur Ubuntu (10.10-64 bit-nerdy gnat ou autre) - j'ai continué à obtenir

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

avant, j'ai eu le message, mais ' rvm 1.9.3-p0@rails321 ça marcherait. Maintenant, ça ne marcherait pas - vous ne pouviez pas changer les gemsets du tout.

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

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

20
répondu Rod McLaughlin 2013-04-19 11:45:07

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 ci-dessus, tapez simplement /bin/bash --login 'dans votre terminal (après redémarrage de votre terminal), puis tapez le comand' RVM use 1.9.3 '(par exemple) et il commencera à utiliser la même version.

il suffit d'exécuter la commande 'ruby-v' pour confirmer que le RVM utilise la version mise à jour de Ruby.

9
répondu Rajesh Omanakuttan 2013-01-14 10:14:27

j'ai eu ce problème aussi sur une nouvelle installation rvm, et aucune des réponses ici corrigé. En entrant dans le site officiel du rvm, sur la section de base, ils ont cette commande:

# à partir de http://rvm.io/rvm/basics

source $(rvm 1.9.3 do rvm env --path)

vous devez changer 1.9.3 Pour la version ruby que vous voulez réellement, et il fera rvm une fonction quel que soit le type de coque.

8
répondu vcanales 2014-04-01 13:29:10

peut-être Pouvez-vous essayer belows:

  • Votre Terminal - >
  • Edit - >
  • Profil "Préférences" - >
  • titre et commande ->
  • cocher la Case "Exécuter une commande en tant que shell de connexion"
  • fait
7
répondu Feuda 2013-09-23 13:48:03

même si vous avez accepté une réponse, j'aimerais suggérer un autre moyen .. ~ / .bashrc est chargé avant que n'importe quelle coquille est ouverte. Ajouter cette ligne à la fin de cela, et vous n'avez pas besoin de cette chose de shell de connexion

5
répondu kapv89 2012-03-05 22:07:56

Exécuter bash --login et puis rvm use 2.0.0 .

5
répondu Gowri Tumma 2016-08-05 11:34:49

ouvrir le Terminal, puis aller à modifier > préférences de profil , puis aller à l'onglet " titre et commande " et vérifier " exécuter la commande comme Shell de connexion ".

démarrer une Bash et maintenant vous pouvez installer des gemmes directement à partir du terminal sans l'utilisation de sudo et l'erreur " RVM n'est pas une fonction, en sélectionnant des rubies avec " utilisation rvm ...'ne fonctionnera pas. " sera éliminé.

santé.

4
répondu ajkn1992 2013-09-23 15:02:37

Toutes les réponses ci-dessus sont valables. Mais quand j'ai fait face au même problème, la solution était la suivante:

  • mise à Jour de ZSH. (Essayé de mettre à jour directement din ne fonctionne pas pour une raison quelconque. Donc désinstallé et réinstallé la version mise à jour de ici )
  • définir shell par défaut comme zsh (i.e. si vous préférez zsh) en utilisant sudo chsh -s $(which zsh) $USER
  • S'assurer que: le code est au bas de votre .zshrc après que vous ayez installé la dernière RVM probablement en utilisant la boucle de 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 annexée avec :$PATH . Qui, je crois, a été à l'origine de mes problèmes, même après avoir suivi les étapes ci-dessus.

  • ce post tous mes problèmes de RVM n'étant Pas une fonction s'en alla. Si ça ne marche toujours pas, donnez une trace d'erreur ici. Après quelques heures de lutte pour résoudre ce problème, je suis sûr que j'ai vu toutes les erreurs liées.

j'Espère que ça aide. Acclamations!

4
répondu Vishnu Narang 2013-12-22 04:55:45

procédure d'installation de Ruby 1.9.3 - p125 sur Mac OSX 10.8 Mountain Lion

  1. vous avez déjà installé le dernier Xcode (>= 4.3) et et la ligne de commande objectif-C compilateur "clang".
  2. vous devez exécuter le shell" bash " pour que cette procédure fonctionne.
  3. passer à Préférences Système
  4. cliquez sur "Utilisateurs et groupes"
  5. cliquez sur la serrure en bas à gauche du panneau et entrez votre mot de passe pour le déverrouiller.
  6. "Ctrl-Click" sur votre icône utilisateur dans le volet gauche du panneau et choisissez " Advanced Options..."
  7. changez le Shell de connexion en "/ bin/bash "
  8. fermer les préférences
  9. ouvrir une fenêtre de terminal (appuyer sur commande+Barre d'espacement et taper "terminal")
  10. suivre les instructions à:

http://www.frederico-araujo.com/2011/07/30/installing-rails-on-os-x-lion-with-homebrew-rvm-and-mysql /

Notes:

  • pour installer ruby, vous pouvez avoir besoin de spécifier le compilateur clang:

    $ RVM install 1.9.3p125 --avec-gcc=clang

  • si RVM ne trouve pas /usr/local/rvm, vous devez créer un lien:

    $ ln - s /Utilisateurs/[votre nom d'utilisateur]/.rvm / usr / local/rvm

3
répondu George Campbell 2012-08-18 18:21:47
source ~/.bash_profile

... devrait faire l'affaire ... probablement besoin de vous déconnecter et vous connecter à nouveau.

Comment recharger .bash_profile à partir de la ligne de commande?

2
répondu Community 2017-05-23 11:55:11

"Officiel" instructions sont là: https://rvm.io/integration/gnome-terminal/

1
répondu Sidhannowe 2012-06-20 19:38:15

j'avais eu la même erreur parce que j'avais déjà installé l'ancienne version 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 rvm .dossier bashrc.

Vérifiez l'ancien script de configuration rvm, puis lancez source .profil

0
répondu ryancheung 2012-03-01 14:57:48

j'ai eu la même erreur, mais aucune des solutions sur cette page semblait fonctionner. Pour moi, il me suffisait d'ajouter l'exécutable rvm à mon chemin:

PATH=$PATH:/usr/local/rvm/bin/

Et le tour est joué!

0
répondu Rafael Bugajewski 2013-08-12 19:21:15

j'ai eu le même problème et je l'ai fait dans mon .bash_profile et cela a fonctionné. source "$HOME/.rvm/scripts/rvm" .

0
répondu Sadiksha Gautam 2016-02-01 21:06:26

pour ceux qui viennent avec la même question et ils utilisent lubuntu comme moi j'ai suivi ce lien :

vous démarrez votre terminal avec

lxterminal -e "bash-il"

merci à @mpapsis qui m'a indiqué la bonne direction

0
répondu nizzin 2017-01-17 16:18:02

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*
0
répondu AlekseiPetrovski 2017-06-06 17:07:50