J'ai configuré RVM avec succès pour utiliser Ruby 1.9.2 et tout va bien. Cependant, lorsque j'essaie d'exécuter Ruby avec Sudo
, il est indiqué qu'il ne peut pas trouver RVM ou Ruby:
$ Ruby -v
Ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]
$ Sudo Ruby -v
[Sudo] password for administrator:
Sudo: Ruby: command not found
Ce comportement est-il correct ou mon RVM est-il mal configuré? Peut-être devrais-je utiliser le system wide install ?
Utilisez la commande rvmsudo
au lieu de Sudo
En prenant la réponse de @calas un peu plus loin, ajoutez ceci à votre ~/.bashrc
:
alias Sudo=rvmsudo
Cela évite d'avoir à se souvenir de changer Sudo
en rvmsudo
pour chaque commande (particulièrement gênant pour les commandes copier/coller).
Sudo réinitialise votre PATH. rvm fonctionne en modifiant votre variable d’environnement PATH afin que le Ruby que vous utilisez soit particulier, probablement dans votre répertoire ~/.rvm/rubies. Lorsque vous utilisez Ruby Ruby avec Sudo, Sudo n’utilise pas ce PATH modifié et ne trouvera donc pas votre lecteur Ruby. Voir cette question comme solution de contournement: Sudo change PATH - pourquoi?
La réponse de @ calas est la réponse. mais si vous ne pouvez pas atteindre votre objectif en utilisant rvmsudo
, par exemple. Installez nginx à l’aide de la commande passenger-install-nginx-module
, changez simplement le propriétaire du dossier/chemin associé. par exemple.
$ chown <your_username>:<your_group> /opt -R
$ passenger-install-nginx-module