web-dev-qa-db-fra.com

find_spec_for_exe ': impossible de trouver le bundle de gemmes (> = 0.a) (Gem :: GemNotFoundException)

J'ai utilisé Sudo bundle install et cela pourrait être la cause du problème? 

Maintenant j'ai:

  • gem -v 2.6.14
  • Ruby -v Ruby 2.3.5p376 (révision 59905 du 2017-09-14) [x86_64-darwin15]
  • jekyll -v jekyll 3.6.2
  • bundle -vBundler version 1.16.0.pre.3

J'obtiens l'erreur suivante en essayant d'exécuter bundle exec jekyll serve ou simplement jekyll serve

/Users/myusername/.rvm/rubies/Ruby-2.3.5/lib/Ruby/site_Ruby/2.3.0/rubygems.rb:271:en find_spec_for_exe': can't find gem bundler (>= 0.a) (Gem::GemNotFoundException) from /Users/myusername/.rvm/rubies/Ruby-2.3.5/lib/Ruby/site_Ruby/2.3.0/rubygems.rb:299:inactivate_bin_path ' à partir de /Users/mon_utilisateur/.rvm/gems/Ruby-2.3.5/bin/bundle:23:in <main>' from /Users/myusername/.rvm/gems/Ruby-2.3.5/bin/Ruby_executable_hooks:15:ineval ' à partir de /Users/myusername/.rvm/gems/Ruby-2.3.5/bin/Ruby_executable_hooks:15:in ` 

De plus, lors de l'accès au dossier dans lequel j'ai mon blog cd my_path, le message suivant s'affiche:

VM a utilisé votre Gemfile pour sélectionner Ruby, tout va bien - Heroku le fait aussi, vous pouvez ignorer ces avertissements avec 'rvm rvmrc warning ignorer /Library/WebServer/Documents/blog/Gemfile'. Pour ignorer l'avertissement de tous les fichiers, exécutez 'avertissement de rvm rvmrc ignorer tous les fichiers de fichiers' . Version inconnue de l'interpréteur Ruby (ne sais pas comment gérer): Ruby_VERSION.

Je ne sais pas comment résoudre ce problème. Je veux juste créer mon blog statique et honnêtement, je n'ai aucune idée de Ruby, Gem ou Bundle :) Alors j'apprécierais quelques idées!

104
Alvaro

Le problème dans mon cas est que le fichier Gemfile.lock avait une version BUNDLED_WITH de 1.16.1 et gem install bundler installée la version 2.0.1, il y avait donc une incompatibilité de version lors de la recherche du dossier

gem install bundler -v 1.16.1 corrigé

Bien sûr, vous pouvez également modifier votre Gemfile.lock's BUNDLED_WITH avec la dernière version bundler et utiliser un logiciel récent, comme Sam3000 suggère

213
Antonio Tapiador
gem update --system

mettra à jour les rubygems et résoudra le problème.

75
antonpaisov

Je viens d'écrire afin que quelqu'un entre dans une affaire comme la mienne.

gem install bundler montre que tout s’installe bien. 

Fetching: bundler-1.16.0.gem (100%)
Successfully installed bundler-1.16.0
Parsing documentation for bundler-1.16.0
Installing ri documentation for bundler-1.16.0
Done installing documentation for bundler after 7 seconds
1 gem installed

Une erreur est apparue lorsque j'ai laissé un commentaire à bundle:

/Users/nikkov/.rvm/gems/Ruby-2.4.0/bin/bundle:23:in `load': cannot load such file -- /Users/nikkov/.rvm/rubies/Ruby-2.4.0/lib/Ruby/gems/2.4.0/gems/bundler-1.16.0/exe/bundle (LoadError)
    from /Users/nikkov/.rvm/gems/Ruby-2.4.0/bin/bundle:23:in `<main>'
    from /Users/nikkov/.rvm/gems/Ruby-2.4.0/bin/Ruby_executable_hooks:15:in `eval'
    from /Users/nikkov/.rvm/gems/Ruby-2.4.0/bin/Ruby_executable_hooks:15:in `<main>'

Et dans le dossier /Users/nikkov/.rvm/rubies/Ruby-2.4.0/lib/Ruby/gems/2.4.0/gems/, il n'y avait pas de dossier bundler-1.16.0

J'ai corrigé ceci avec Sudo gem install bundler

36
Nik Kov

La vraie réponse est ici si vous essayez d’installer Bundler 2.0.1 ou 2.0.0 car Bundler a besoin de RubyGems v3.0.0

Hier, j'ai publié Bundler 2.0, qui a introduit un certain nombre de modifications radicales. L'une de ces modifications a été de configurer Bundler pour qu'il nécessite RubyGems v3.0.0. Après la publication de ce communiqué, il est devenu évident que bon nombre de nos utilisateurs rencontrent des problèmes avec Bundler 2 nécessitant une toute nouvelle version de RubyGems.

Nous avons écouté attentivement les commentaires des utilisateurs et avons décidé d'assouplir l'exigence de RubyGems à la version 2.5.0 au minimum. Nous avons publié une nouvelle version de Bundler, v2.0.1, qui ajuste cette exigence.

Pour plus d'informations, voir: https://bundler.io/blog/2019/01/04/an-update-on-the-bundler-2-release.html

24
noraj

Cela a résolu le problème:

  1. Supprimer Gemfile.lock rm Gemfile.lock
  2. relancez bundle install
19
Klonept

Si vous avez changé la version de Ruby que vous utilisez avec rvm use, supprimez Gemfile.lock et réessayez.

11
Wawa Loo

La raison en est que votre environnement Ruby actuel, vous avez une version différente de bundler avec la version dans Gemfile.lock.

  • Manière sûre, installez bundler avec la même version dans Gemfile.lock, cela ne casse rien s'il se passe quelque chose d'incongrable.
  • Manière difficile, il suffit de supprimer Gemfile.lock et d’exécuter bundle install.
9
Mathew P. Jones

Ouvrez Gemfile.lock, qui se trouve à la racine du dossier de votre application. Faites défiler jusqu'à la fin du fichier et voyez la version de bundle utilisée. Ensuite, assurez-vous d’installer la version du bundle utilisée: 

gem install bundler -v x.xx.xx

Ou - supprimez Gemfile.lock et bundle si vous avez une version supérieure de bundler installée. 

Le choix vous appartient, mon ami. 

4
Georg Keferböck

Mon problème était que j'utilisais RVM et que la mauvaise version de Ruby était activée ...

J'espère que cela aide au moins une personne

1
Greg Hilston

J'ai dégradé Ruby de 2.5.x à 2.4.x dans mon cas particulier.

0
Victor Piousbox

J'ai eu le même problème aujourd'hui. Je résous ce problème en supprimant toute PATH dans .bashrc pour les anciens rvm.

0
xhg