web-dev-qa-db-fra.com

Avertissement RVM! PATH n'est pas correctement configuré

Je viens d'installer rvm sur mon mac, mais je reçois cet avertissement sur les commandes globales 

Attention! PATH n'est pas correctement configuré, '/usr/local/rvm/gems/Ruby-1.9.3-p194/bin' n'est pas à la première place, cela est généralement causé par les fichiers d'initialisation de Shell - vérifiez-les pour 'PATH = .. . ', cela pourrait aussi aider à rajouter RVM à vos fichiers .fot:' rvm get stable --auto-dotfiles ', à corriger temporairement dans cette session de shell:' utilisation de rvm Ruby-1.9.3-p194 '.

Mon $ PATHS confirme l'avertissement:

$echo :$PATH:
:/usr/local/rvm/bin:/usr/local/heroku/bin:/usr/local/rvm/gems/Ruby-1.9.3-p194/bin:/usr/local/rvm/gems/Ruby-1.9.3-p194@global/bin:/usr/local/rvm/rubies/Ruby-1.9.3-p194/bin:/usr/local/rvm/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:

Comme suggéré, j'ai d'abord essayé en vain rvm get stable --auto-dotfiles, puis j'ai vérifié mes fichiers d'initialisation de shell. Mon /.bash_profile: 

export PATH=/usr/local/bin:/usr/local/sbin:$PATH
export PATH=/usr/local/share/python:$PATH
PATH=$PATH:$HOME/bin:/opt

Mon /Users/User/.bash_profile semble être le coupable:

export PS1="[\w]$"
alias ll='ls -laGH'
alias .='echo $PWD'

### Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"

# rvm
PATH=/usr/local/rvm/bin:$PATH
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a Shell session *as a function*

La raison en est que si je supprime Heroku Toolbelt et les chemins rvm (réponses suggérées par d’autres questions relatives au débordement de pile), /usr/local/rvm/gems/Ruby-1.9.3-p194/bin serait à la première place et le problème serait résolu. Cependant, je ne sais pas quoi faire avec le Heroku Toolbelt. De plus, PATH=/usr/local/rvm/bin:$PATH ne devrait-il pas placer rvm en premier? 

Je dois manquer une solution triviale. 

Notes complémentaires: $rvm --debug get head ne produit aucune note d'installation à ce sujet, à l'exception de l'avertissement affiché ci-dessus.

Mise à jour: l'appel de rvm system résout le problème, mais uniquement dans la session Shell en cours. $echo $PATH produit maintenant: 

:/usr/local/heroku/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/rvm/bin:

Qu'est-ce qu'une solution permanente?

25
Johnz133

J'ai le même problème avec rvm 1.25.26.

solution:

J'ai modifié ~/.bashrc comme suit: 

## rvm
PATH="$GEM_HOME/bin:$HOME/.rvm/bin:$PATH" # Add RVM to PATH for scripting
[ -s ${HOME}/.rvm/scripts/rvm ] && source ${HOME}/.rvm/scripts/rvm

provoquant:

L'avertissement est déclenché par la fonction __rvm_path_match_gem_home_check () dans $HOME/.rvm/scripts/functions/cli.

Si le début de $PATH ne commence pas à partir de $GEM_HOME/bin, un message d'avertissement s'affiche.

__rvm_path_match_gem_home_check()
{
  (( ${rvm_silence_path_mismatch_check_flag:-0} == 0 )) || return 0
  [[ -n "${GEM_HOME:-}" ]] || return 0
  case "$PATH:" in
    ($GEM_HOME/bin:*) true ;; # all fine here
    (*:$GEM_HOME/bin:*)
      __rvm_path_match_gem_home_check_warning "is not at first place"
      ;;
    (*)
      __rvm_path_match_gem_home_check_warning "is not available"
      ;;
  esac
}
53
utwang

Dans mon cas, Heroku avait ajouté ce qui suit à mon .bashrc:

### Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"

Remarquez comment cela se prépare au chemin. Tout ce que je devais faire était de le changer pour:

### Added by the Heroku Toolbelt
export PATH="$PATH:/usr/local/heroku/bin"

Et mon problème était résolu!

Si vous n'avez pas Heroku, recherchez tout ce qui pourrait se préparer à votre chemin. Vraiment, RVM veut juste s'assurer qu'il a une chance de charger Ruby avant que tous les joyaux qui se comprennent dans le chemin ne soient chargés. 

15
Matthew Cullum

La solution était de courir 

$rvm install Ruby-head
$rvm use Ruby-head

avec un $rvm docs generate-ti optionnel

J'utilisais une version obsolète de Ruby sur mon système.

5
Johnz133

Recherchez vos fichiers de configuration pour:

export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting

Remplacez cette ligne par:

export PATH="$HOME/.rvm/bin:$PATH" # Add RVM to PATH for scripting

Pour vous assurer que le code RVM se trouve au début de votre $ PATH. Assurez-vous également qu'aucun autre code ne se place au début de $ PATH.

3
Mirror318

Comme j'utilisais la version ubuntu de rvm, j'avais besoin de mettre cela dans mon .profile:

PATH="$GEM_HOME/bin:/usr/share/rvm/bin:$PATH" # Add RVM to PATH for scripting
[ -s /usr/share/rvm/scripts/rvm ] && source /usr/share/rvm/scripts/rvm
1
Karen

Droite. J'évitais cette réponse alors que je passais des heures à faire des recherches sans succès. J'espère que cela sauvera du temps à quelqu'un d'autre.

Mon problème était d'avoir 2 têtes Ruby installées et apparemment, la version Ruby était également un problème.

➜ rvm list                   
Warning! PATH is not properly set up, '/home/ma/.rvm/gems/Ruby-1.8.7-head/bin' is not at first place.
         Usually this is caused by Shell initialization files. Search for 'PATH=...' entries.
         You can also re-add RVM to your profile by running: 'rvm get stable --auto-dotfiles'.
         To fix it temporarily in this Shell session run: 'rvm use Ruby-1.8.7-head'.
         To ignore this error add rvm_silence_path_mismatch_check_flag=1 to your ~/.rvmrc file.

rvm rubies

=> Ruby-1.8.7-head [ x86_64 ]
   Ruby-1.8.7-p374 [ x86_64 ]
   Ruby-2.3.0 [ x86_64 ]
   Ruby-2.4.0 [ x86_64 ]
 * Ruby-head [ x86_64 ]

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

Dans ce cas, (en essayant toutes les solutions ci-dessus, this et this ), définissez ma valeur par défaut sur Ruby-head [ x86_64 ] et redémarrez le terminal avec le Warning! ET ma version actuelle de Ruby persistait comme le montre l'extrait ci-dessus.

Pour résoudre ce problème:

rvm remove Ruby-1.8.7-head

Maintenant, si je redémarre le terminal:

➜ rvm list                  

rvm rubies

   Ruby-1.8.7-p374 [ x86_64 ]
   Ruby-2.3.0 [ x86_64 ]
   Ruby-2.4.0 [ x86_64 ]
=* Ruby-head [ x86_64 ]

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

Il semble, et à la fin de .bashrc, vous devez vous assurer que le chemin d’installation est au début de $PATH

0
allenfantasy