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.
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
.
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!
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 :)
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.
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"
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.
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.
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
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
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é.
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 versPATH
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!
procédure d'installation de Ruby 1.9.3 - p125 sur Mac OSX 10.8 Mountain Lion
- vous avez déjà installé le dernier Xcode (>= 4.3) et et la ligne de commande objectif-C compilateur "clang".
- vous devez exécuter le shell" bash " pour que cette procédure fonctionne.
- passer à Préférences Système
- cliquez sur "Utilisateurs et groupes"
- cliquez sur la serrure en bas à gauche du panneau et entrez votre mot de passe pour le déverrouiller.
- "Ctrl-Click" sur votre icône utilisateur dans le volet gauche du panneau et choisissez " Advanced Options..."
- changez le Shell de connexion en "/ bin/bash "
- fermer les préférences
- ouvrir une fenêtre de terminal (appuyer sur commande+Barre d'espacement et taper "terminal")
- suivre les instructions à:
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
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?
"Officiel" instructions sont là: https://rvm.io/integration/gnome-terminal/
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
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é!
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"
.
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*