Ci-dessus ne fonctionne pas la première fois, fonctionne la deuxième fois.
Essayez de définir la version ruby sur 2.0.0 pour toute nouvelle fenêtre shell.
Faire
$ rvm use 2.0.0 --default
donne
Warning! PATH is not properly set up, '/home/durrantm/.rvm/gems/ruby-1.9.3-p125/
bin' is not at first place,
usually this is caused by shell initialization files - check them for '
PATH=...' entries,
it might also help to re-add RVM to your dotfiles: 'rvm get stable --au
to-dotfiles',
to fix temporarily in this shell session run: 'rvm use ruby-1.9.3-p125'
.
Using /home/durrantm/.rvm/gems/ruby-2.0.0-p247
Puis faire de même
$ rvm use 2.0.0 --default
ne donne plus d'erreur, c'est-à-dire
$ rvm use 2.0.0 --default
Using /home/durrantm/.rvm/gems/ruby-2.0.0-p247
durrantm.../durrantm$
mais les nouvelles fenêtres me donnent toujours ruby 1.9.3, pas 2.0.0
Mon .bashrc
fichier contient:
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
[[ -s "/home/durrantm/.rvm/scripts/rvm" ]] && . "/home/durrantm/.rvm/scripts/rvm"
Mon .bash_profile a:
source ~/.profile
case $- in *i*) . ~/.bashrc;; esac
En essayant
rvm get stable
semble fonctionner mais à la fin de beaucoup de sorties vertes:
Could not update RVM, get some help at #rvm IRC channel at freenode servers.
Une nouvelle fenêtre de terminal avec rvm list rubies
montre ceci:
$ rvm list rubies
Warning! PATH is not properly set up, '/home/durrantm/.rvm/gems/ruby-1.9.3-p125/bin' is not at first place,
usually this is caused by shell initialization files - check them for 'PATH=...' entries,
it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
to fix temporarily in this shell session run: 'rvm use ruby-1.9.3-p125'.
rvm rubies
=> ruby-1.9.3-p125 [ x86_64 ]
ruby-1.9.3-p194 [ x86_64 ]
* ruby-2.0.0-p247 [ x86_64 ]
# => - current
# =* - current && default
# * - default
~/.bashrc
,~/.bash_profile
, en cours d' exécutionrvm get stable --auto-dotfiles
, un nouveau contrôle~/.bashrc
,~/.bash_profile
et~/.profile
plusieurs fois ... cette réponse enfin réparée! Ran:rvm reset
et il s'est débarrassé des avertissements! (IMHO ... RVM est beaucoup trop capricieux pour être le premier sur le chemin ... Si je mets quelque chose d'autre en premier sur mon chemin, je sais ce que je fais)rvm reset
rvm reset
(le message s'affichera une dernière fois), maintenant à chaque fois que j'émets une commande rvm, plus d'avertissements de PATH.rvm help
renvoie un indice assez effrayant pourrvm reset
: supprimer tous les paramètres par défaut et système 😄La réponse était de mettre ceci:
** en BAS ** (dernière ligne - important!) de mon fichier .bashrc. Je l'avais dans mon fichier .bash_profile (je suis sur Ubuntu) et cela n'a fonctionné que partiellement, ce qui a conduit à des erreurs déroutantes.
la source
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
pour Homebrew est probablement un élément courant qui entre en conflit avec rvm.rvm reset
elle le fera automatiquement pour vous ...Ce n'est peut-être pas la meilleure façon de résoudre ce problème, mais j'ai ajouté cette ligne au bas de mon .zshrc (cela fonctionnera aussi dans .bashrc!)
la source
J'ai essayé la solution de Michael Durrant et cela n'a pas fonctionné pour moi. mais j'ai couru
rvm get stable --auto-dotfiles
et cela a commencé à fonctionner comme souhaité.J'espère que ça aide
la source
rvm default
au bas de monconfig.fish
fichier. la commandervm reset
n'a pas aidé en gardant la fenêtre du terminal ouverte. Cette commande a fonctionné. Ma sortie: pastebin.com/1jUCSGnPbash
rvm default
ligne. C'est mieux maintenant ..Ce n'est pas une réponse à la question posée, mais à la question connexe que la plupart des commentateurs / répondants ont posée - Pourquoi avez-vous besoin de mettre la ligne rvm au bas du fichier shell rc?
La réponse est simple.
$PATH
, et.bashrc
(ou équivalent pour votre shell par défaut) est lu et interprété ligne par ligne de haut en bas.Alors imaginez le scénario suivant:
Clairement, si quelque chose est présent dans le fichier d'initialisation du shell après la ligne RVM et apporte des modifications à $ PATH, plus spécifiquement s'il ajoute des répertoires à
$PATH
, alors ces changements pousseront les répertoires ajoutés par rvm vers le bas de leur première position. RVM, lorsqu'il est appelé, constatera que ses répertoires binaires ruby ne sont pas au tout début de$PATH
et BAM! vous recevrez l'avertissement :).J'espère que cela clarifie les choses.
la source
En ajoutant simplement mon expérience: si vous utilisez
.bash_profile
, vérifiez si cela.bashrc
n'interfère pas . Tuer.bashrc
en faveur de la configuration unique de Bash par.bash_profile
fonctionne dans ce cas.la source
.bashrc
est exécuté pour chaque shell interactif imbriqué;.bash_profile
n'est exécuté que sur le premier shell bash entré, c'est-à-dire le shell de connexion. Les variables doivent généralement être définies dans.bash_profile
, tandis que les fonctions, les alias, etc. (les éléments qui ne sont pas transmis avec l'environnement hérité normal) doivent être définis dans.bashrc
.J'ai une question de suivi à ce sujet (j'aimerais simplement ajouter un commentaire - mais je n'ai pas assez de crédits). J'ai eu ce même problème - et quand j'ai suivi le script rvm qui avait été suggéré d'utiliser
--auto-dotfiles
, j'ai eu des problèmes car le script shell a supprimé mon fichier .bashrc_profile .Quoi qu'il en soit, je suis finalement arrivé à la même réponse indiquée ci-dessus, en mettant cette ligne au bas du fichier .bashrc .
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
Avez-vous trouvé pourquoi cela fonctionne comme ça, et non avec la ligne au milieu du fichier .bashrc? Avez-vous une certaine clarté sur la façon dont Unix charge la variable d'environnement qui fait fonctionner RVM dans une instance et pas dans une autre?
la source
J'étais confronté au même problème. J'ai trouvé ça dans le fichier bashrc
plusieurs entrées pour rvm. J'ai commenté une entrée et cela fonctionne très bien.
la source
J'ai nettoyé tout ce qui contenait un .rvm de ma ligne PATH = dans mon .zshrc
Cela a résolu le problème pour moi, alors que les autres réponses ici (sourçage du script rvm ou stabilisation avec les fichiers dotfiles automatiques) ne l'ont pas été.
la source
J'ai trouvé cette commande très utile. Cela résout mon cas. Donc, si quelqu'un a le même problème, essayez ceci:
rvm get stable --auto-dotfiles
la source
rvm install ruby-head
Correction du problème pour moi - peu de temps mais a fait l'affaire. Je ne sais pas si cela a fait des mises à jour non annoncées de mes fichiers bash.la source
J'ai fini par supprimer
~/.profile
,~/.bashrc
et~/.zshrc
.En gros, je n'ai gardé que
~/.bash_profile
sur mon mac. Et il fonctionne.Je pense que dans mon cas, il y a:
dans ces fichiers, et ces paramètres en double confondus
rvm
la source
Avertissement
Parce que je développe principalement en utilisant python, donc je ne suis pas sûr que cette solution de contournement vous donne un env ruby correct ou modifie simplement le chemin et supprime l'avertissement
Contexte
Dans mon cas, j'ai installé d'
rvm
abord, puispyenv
plus tard. La configuration pour les deux changera$PATH
. D'après l'avertissement, il semble que rvm veuille toujours être le premier sur le chemin$ echo $PATH
$HOME/.rvm/gems/ruby-2.6.3/bin: ......
Mais si vous ajoutez
eval "$(pyenv init -)"
comme requis parpyenv
, cela changera votre$PATH
en$ echo $PATH
$HOME/.pyenv/shims:$HOME/.rvm/gems/ruby-2.6.3/bin: ......
Ma solution de contournement
$ rvm use system
# Revenir au système ruby$ rvm use ruby-2.6.3
# Passez à la version dont vous avez besoinrvm
changera le chemin en ce qu'il aime, vous ne verrez plus l'avertissement ennuyeux.la source
Cela a fonctionné après avoir commenté les 2 premières lignes en double et les avoir ajoutées en bas. N'oubliez pas de redémarrer le terminal pour qu'il fonctionne.
la source
Vous pouvez ajouter
à votre
~/.rvmrc
dossier. C'est ce que suggère maintenant le message d'avertissement.la source
PATH
sons intrusifs pour moi, et tout au plus protecteurs , j'ai décidé de poster cette réponse. Je prendrai le temps de repenser ma réponse et de l'améliorer en fonction de vos commentaires :)J'ai corrigé ce problème. ESSAYEZ D'UTILISER UNE COMMANDE COMME CECI:
AJOUTER -p353 ou tout autre détail de version vous à la fin de la ligne
la source