it-swarm.com.de

find_spec_for_exe ': Gem-Bundler kann nicht gefunden werden (> = 0.a) (Gem :: GemNotFoundException)

Ich habe Sudo bundle install verwendet und das könnte die Ursache des Problems sein? 

Jetzt habe ich:

  • gem -v 2.6.14
  • Ruby -v Ruby 2.3.5p376 (Überarbeitung 59905 von 2017-09-14) [x86_64-darwin15]
  • jekyll -v jekyll 3.6.2
  • bundle -vBundler Version 1.16.0.pre.3

Beim Ausführen von bundle exec jekyll serve oder nur jekyll serve wird die folgende Fehlermeldung angezeigt

/Users/myusername/.rvm/rubies/Ruby-2.3.5/lib/Ruby/site_Ruby/2.3.0/rubygems.rb:271:in 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 ' von /Users/myusername/.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 ' von /Users/myusername/.rvm/gems/Ruby-2.3.5/bin/Ruby_executable_hooks:15:in ` 

Beim Zugriff auf den Ordner, in dem sich mein Blog cd my_path befindet, erhalte ich die folgende Meldung:

VM hat Ihr Gemfile für die Auswahl von Ruby verwendet, es ist alles in Ordnung - Heroku macht das auch Sie können diese Warnungen mit 'rvm rvmrc warning ignore /Library/WebServer/Documents/blog/Gemfile'..__ ignorieren. Um die Warnung für alle Dateien zu ignorieren, führen Sie 'rvm rvmrc warning ignore allGemfiles' ..__ aus. Version des unbekannten Ruby-Interpreters (weiß nicht, wie sie damit umgehen soll): Ruby_VERSION.

Ich habe keine Ahnung, wie ich das lösen kann. Ich möchte nur meinen statischen Blog erstellen und ehrlich gesagt habe ich keine Ahnung von Ruby, Gem oder Bundle :) Ich würde mich also über einige Erkenntnisse freuen!

104
Alvaro

Das Problem in meinem Fall ist, dass die Gemfile.lock-Datei eine BUNDLED_WITH-Version von 1.16.1 und gem install bundler installierte Version 2.0.1 hatte, sodass bei der Suche nach dem Ordner ein Versionsfehler bestand

gem install bundler -v 1.16.1 hat es behoben

Natürlich können Sie auch Gemfile.lock mit der letzten bundler-Version Ihres BUNDLED_WITH ändern und aktuelle Software verwenden, wie Sam3000 schlägt vor

213
gem update --system

aktualisiert die Rubygems und behebt das Problem.

75
antonpaisov

Ich schreibe nur, damit jemand in ein Thema wie das meine gerät.

gem install bundler zeigt, dass alles gut installiert ist. 

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

Als ich bundle tippte, gab es einen Fehler:

/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>'

Und im Ordner /Users/nikkov/.rvm/rubies/Ruby-2.4.0/lib/Ruby/gems/2.4.0/gems/ gab es keinen bundler-1.16.0-Ordner. 

Ich behoben dies mit Sudo gem install bundler

36
Nik Kov

Die eigentliche Antwort ist hier, wenn Sie versuchen, Bundler 2.0.1 oder 2.0.0 zu installieren, da Bundler RubyGems v3.0.0 erfordert

Gestern habe ich Bundler 2.0 veröffentlicht, mit dem einige bahnbrechende Änderungen eingeführt wurden. Eine dieser Änderungen bestand darin, Bundler so einzustellen, dass RubyGems v3.0.0 erforderlich ist. Nach der Veröffentlichung wurde klar, dass viele Benutzer Probleme mit Bundler 2 haben, die eine wirklich neue Version von RubyGems erfordern.

Wir haben uns das Feedback der Nutzer genau angehört und beschlossen, die RubyGems-Anforderung mindestens auf Version 2.5.0 zu lockern. Wir haben eine neue Bundler-Version, v2.0.1, veröffentlicht, die diese Anforderung anpasst.

Weitere Informationen finden Sie unter: https://bundler.io/blog/2019/01/04/an-update-on-the-bundler-2-release.html

24
noraj

Das hat es behoben:

  1. Gemfile.lock rm Gemfile.lock entfernen
  2. führen Sie bundle install erneut aus
19
Klonept

Wenn Sie die mit rvm use verwendete Ruby-Version geändert haben, entfernen Sie Gemfile.lock und versuchen Sie es erneut.

11
Wawa Loo

Der Grund ist Ihre aktuelle Ruby-Umgebung. Sie haben eine andere Bundler-Version mit der Version in Gemfile.lock.

  • Installieren Sie den Bundler auf eine sichere Art und Weise mit derselben Version in Gemfile.lock. Dies wird nichts kaputt machen, wenn etwas unvereinbar ist.
  • Auf harte Weise einfach Gemfile.lock entfernen und bundle install ausführen.
9
Mathew P. Jones

Öffnen Sie die Datei Gemfile.lock, die sich im Stammverzeichnis Ihres App-Ordners befindet. Scrollen Sie zum Ende der Datei und sehen Sie die verwendete Bundler-Version. Dann stellen Sie sicher, dass Sie die verwendete Bundler-Version installieren: 

gem install bundler -v x.xx.xx

Oder - löschen Sie Gemfile.lock und das Bundle, wenn Sie eine höhere Bundlerversion installiert haben. 

Die Wahl liegt bei Ihnen, mein Freund. 

4

Mein Problem war, dass ich RVM verwende und die falsche Ruby-Version aktiviert hatte ...

Hoffe, das hilft mindestens einer Person

1
Greg Hilston

In meinem speziellen Fall habe ich Ruby von 2.5.x auf 2.4.x heruntergestuft.

0
Victor Piousbox

Ich hatte heute das gleiche Problem. Ich löse dieses Problem, indem ich PATH in .bashrc für ältere rvm entfernt.

0
xhg