3 votes

Impossible d'exécuter un programme installé via gem install

J'ai installé Ruby en utilisant RVM.

J'ai fait une commande gem install rspec et il semblait installer rspec correctement. Si je fais une commande rspec, j'obtiens un message "The program 'rspec' is not currently installed" et on me suggère de l'installer avec apt-get.

Si j'essaie de refaire un gem install rspec, il montre que rspec était déjà installé. J'ai essayé de faire sudo gem install rspec en pensant qu'il pouvait s'agir d'un problème de permission mais le terminal a indiqué que le programme gem n'était pas installé.

Comment puis-je exécuter les programmes que j'ai "gem installés" dans Ubuntu sans avoir recours à un "apt-get" ?

2voto

Vlad Gudim Points 10161

Mon problème était que la version de ruby de mon environnement gem était différente de la version de ruby de rvm.

J'ai utilisé les commandes

gem env
which ruby

Pour diagnostiquer le problème. Cela m'a donné la version de ruby utilisée par gem et rvm, puis j'ai utilisé

rvm use <ruby-version>

Pour faire correspondre les deux versions de ruby.

J'ai publié un article sur mon blog avec plus de détails : Problèmes pour exécuter l'exécutable à partir d'une gemme installée sous rvm

1voto

Viking Points 1

Lorsque vous utilisez rbenv Au lieu de RVM, vous avez la possibilité d'exécuter rbenv rehash qui mettra les binaires de Gem dans le chemin pour que vous puissiez les utiliser. Vous devez également exécuter rbenv rehash à chaque fois que vous installez une nouvelle gemme qui fournit des binaires.

0voto

Spode Points 1

Il semble que je n'avais pas du tout de rvm sur Ubuntu 15.04. La solution a été d'installer le rbenv paquet. Maintenant, tout ce que j'ai installé via "gem install" peut être exécuté.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X