15 votes

Zsh & RVM woes (rvm-prompt ne résout pas le problème)

J'ai récemment vu la lumière et je suis passé à Zsh. J'ai naturellement utilisé Oh My Zsh pour le configurer, car je suis nul. Donc, il y a plusieurs thèmes qui ont un rvm-prompt et c'est là que mes problèmes ont commencé. Chaque fois que je charge Zsh, je dois rvm reload ou bien rvm-prompt n'est pas résolu ( zsh: command not found: rvm-prompt ). Notez qu'il se résout correctement après avoir été rechargé. De plus, et en ligne, quand je vais dans un répertoire qui a son propre .rvmrc (autre gemset) et que j'en sorte, le même problème se produit ; je dois recharger Zsh à nouveau. J'ai RVM dans $PATH set. J'ai

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

dans mon .zshrc

J'utilise le plugin RVM. Quelqu'un sait-il ce qui se passe ? Il n'y a pas vraiment de problème, c'est juste ennuyeux.

21voto

jasongarber Points 480

Créer un alias de rvm-prompt. C'est la réponse la plus sûre. Arrangez les choses dans votre .zshrc dans cet ordre :

  1. alias rvm-prompt=$HOME/.rvm/bin/rvm-prompt
  2. source $ZSH/oh-my-zsh.sh
  3. [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

Si oh-my-zsh (OMZ) se charge avant RVM, which rvm-prompt échoue silencieusement, de sorte que vous ne verrez pas RVM dans votre invite (si votre thème le supporte) même s'il se trouve dans votre chemin plus tard, après le chargement de RVM.

Si le RVM se charge avant l'OMZ, il se peut que vous obteniez le message suivant zsh: command not found: rvm-prompt .

L'aliénation de votre rvm-prompt à son emplacement réel semble résoudre le problème, quel que soit l'ordre dans lequel RVM et OMZ sont chargés. Je recommande toujours de charger RVM en dernier.

Mise en place de la charge du RVM .zshenv comme suggéré ci-dessus chargerait RVM deux fois dans iTerm 2 (et non, ce n'était pas encore dans mon .zshrc ) et l'invite afficherait "system" même si le système rvm-prompt et rvm current a montré une version de ruby et un gemset spécifiques.

19voto

John Points 3038

J'ai eu le même problème jusqu'à ce que je mette [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" en un .zshenv au lieu du fichier .zshrc archivo.

7voto

Gilles Essoki Points 164

La manière la plus simple de s'en débarrasser est d'installer RVM (Ruby Virtual Manager). Vous apprécierez alors le thème.

curl -sSL https://get.rvm.io | bash

Le problème se résout de lui-même après cela.

4voto

bowsersenior Points 7841

Je ne suis pas sûr que cela résoudra vos problèmes, mais cela vaut quand même la peine d'essayer.

Après une récente mise à jour de rvm, j'ai eu des problèmes similaires avec oh-my-zsh. J'ai désinstallé à la fois rvm et oh-my-zsh, puis je les ai réinstallés (installez d'abord oh-my-zsh, car il copiera un grand nombre de chemins d'accès à rvm dans votre fichier ~/.zshrc si vous installez d'abord rvm).

Les choses se sont un peu améliorées, sauf que rvm-prompt ne fonctionnait pas correctement avec une nouvelle fenêtre de terminal. J'ai fini par coller ce qui suit à la fin de mon ~/.zshrc et les choses fonctionnent bien maintenant :

rvm use default

Je pense qu'il y a une sorte de problème de poule mouillée avec l'ordre de chargement de rvm et oh-my-zsh avec les versions récentes de rvm. Je ne sais pas lequel des deux est à blâmer, mais j'espère que le problème sera résolu par l'un d'entre eux ou par les deux !

1voto

mik Points 75

Ce problème est en fait abordé dans la FAQ zsh de rvm.

http://beginrescueend.com/integration/zsh/

a __rvm_project_rvmrc à votre .zshrc résout le problème.

Je l'ajoute en tant que réponse car je viens de trouver cela en cherchant sur Google et la solution ci-dessus ne fait que mettre la version de ruby à la valeur par défaut de rvm et ne fonctionne pas avec les gemsets.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X