web-dev-qa-db-fra.com

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 qui semblait installer correctement rspec. Si je fais un rspec, je reçois un message "Le programme 'rspec' n'est pas encore installé" et on me suggère d'apt-get-it.

Si j'essaie de faire une nouvelle installation gem de rspec, cela montre que rspec était déjà installé. J'ai essayé de faire sudo gem installer rspec en pensant que c'était peut-être un problème de permission, mais ensuite le terminal a dit que le programme gem n'était pas installé.

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

3
Gilles

Mon problème était que la version Ruby de mon environnement bijou était différente de celle de la version Ruby de rvm.

J'ai utilisé les commandes

gem env
which Ruby

Pour diagnostiquer le problème. Cela m’a donné la version Ruby utilisée par gem et rvm puis utilisée

rvm use <Ruby-version>

Faire correspondre les deux versions Ruby.

J'ai écrit un article de blog avec plus de détails: Problèmes d'exécution de l'exécutable à partir d'une gemme installée sous rvm

2
Gilles

Lorsque vous utilisez rbenv à la place de RVM, vous avez la possibilité d’exécuter rbenv rehash, ce qui placera les binaires gem sur chemin afin que vous puissiez les utiliser. En outre, vous devez exécuter rbenv rehash chaque fois que vous installez une nouvelle gem fournissant des fichiers binaires.

1
Nebojsa

Je ne semblais pas avoir de rvm du tout sur Ubuntu 15.04. La solution consistait à installer le package rbenv. Maintenant, tout ce que j'ai installé avec "gem install" peut maintenant être exécuté.

0
Spode