Ich habe verwendet sudo bundle install
und das könnte die Ursache des Problems sein?
Jetzt habe ich:
gem -v
2.6.14ruby -v
ruby 2.3.5p376 (2017-09-14 Revision 59905) [x86_64-darwin15]jekyll -v
jekyll 3.6.2bundle -v
Bundler Version 1.16.0.pre.3
Ich erhalte die folgende Fehlermeldung, wenn ich versuche zu laufen bundle exec jekyll serve
oder nurjekyll serve
/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:in `activate_bin_path'
from /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:in `eval'
from /Users/myusername/.rvm/gems/ruby-2.3.5/bin/ruby_executable_hooks:15:in `<MacBooMacBook-MacBook-MacBook-Pro-MacBook-PrMacBook-MacBooMacBMaMacBMaMaMaMaMaMaMaMaMacBMaMaMaMacBMa
Wenn ich auf den Ordner zugreife, in dem ich mein Blog cd my_path
habe, wird folgende Meldung angezeigt:
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. Unbekannte Ruby-Interpreter-Version (weiß nicht, wie ich damit umgehen soll): RUBY_VERSION.
Ich habe keine Ahnung, wie ich das lösen soll. Ich möchte nur mein statisches Blog erstellen und ehrlich gesagt habe ich keine Ahnung von Ruby, Gem oder Bundle :) Ich würde mich über einige Einblicke freuen!
Antworten:
Das Problem in meinem Fall ist, dass die
Gemfile.lock
Datei eineBUNDLED_WITH
Version1.16.1
und einegem install bundler
installierte Version hatte2.0.1
, sodass bei der Suche nach dem richtigen Ordner eine Versionsinkongruenz auftratgem install bundler -v 1.16.1
behobenNatürlich können Sie auch Ihre ändern
Gemfile.lock
‚sBUNDLED_WITH
mit der letztenbundler
Version und aktuelle Software verwenden, wie Sam3000 schlägt vor ,quelle
BUNDLED_WITH
Version auf die neueste Version von Bundler ändern . Dies funktionierte für mich und ersparte mir auch die Notwendigkeit veralteter Software :)gem install bundler -v 1.16.1
und jetzt, wenngem.bat list bundler
ich laufe, bekomme ich einen Bundler (2.0.1, 1.16.1, 1.9.6). Ich kann die aktuelle Version nicht ändern: Das Ausführenbundle.bat _1.16.1 install
gibt mir diesen Fehler :Could not find command "_1.16.1"
. Haben Sie eine Idee, damit ich keine neue Frage erstellen muss? Vielen Dank!aktualisiert die Rubygems und behebt das Problem.
quelle
gem update --system
arbeitete für mich:ruby
2.5.0 ,bundler
2.0.1 ,macOS
10.13.6 .Aktualisieren:
Gemäß der Antwort von @ noraj und dem Kommentar von @Niels Kristian sollte der folgende Befehl die Aufgabe erfüllen.
Ich habe das geschrieben, falls jemand in ein Problem wie das meine gerät.
gem install bundler
zeigt, dass alles gut installiert ist.Beim Tippen ist
bundle
ein Fehler aufgetreten:Und in dem Ordner
/Users/nikkov/.rvm/rubies/ruby-2.4.0/lib/ruby/gems/2.4.0/gems/
gab es keinenbundler-1.16.0
Ordner.Ich habe das mit behoben
sudo gem install bundler
quelle
Die eigentliche Antwort ist hier, wenn Sie versuchen, Bundler 2.0.1 oder 2.0.0 zu installieren, da Bundler RubyGems v3.0.0 benötigt
Weitere Informationen finden Sie unter: https://bundler.io/blog/2019/01/04/an-update-on-the-bundler-2-release.html
quelle
Dies hat es behoben:
rm Gemfile.lock
bundle install
wieder laufenEDIT: NICHT IN DER PRODUKTION TUN!
Für die Produktion gehen Sie zu dieser Antwort: https://stackoverflow.com/posts/54083113/revisions
quelle
Gemfile.lock
sollte als letzter Ausweg betrachtet werden, da dies zu anderen Problemen führen kann.Der Grund ist Ihre aktuelle Ruby-Umgebung. Sie haben eine andere Version von Bundler mit der Version in
Gemfile.lock
.Gemfile.lock
, dies wird nichts kaputt machen, wenn etwas Unbestreitbares passiert ist.Gemfile.lock
und ausführenbundle install
.quelle
1.17
Verwendunggem install bundler -v 1.17
Wenn Sie die verwendete Ruby-Version geändert haben
rvm use
, entfernen Sie Gemfile.lock und versuchen Sie es erneut.quelle
Öffnen Sie Gemfile.lock, das sich im Stammverzeichnis Ihres App-Ordners befindet. Scrollen Sie zum Ende der Datei und sehen Sie sich die verwendete Bundler-Version an. Dann stellen Sie sicher, dass Sie die verwendete Bundler-Version installieren:
Oder - löschen Sie Gemfile.lock und Bundle, wenn Sie eine höhere Bundler-Version installiert haben.
Sie haben die Wahl, mein Freund.
quelle
Gemfile.lock
Ordner hatte, hat den Trick gemacht!So installieren Sie einen Bundler, der Ihrer
Gemfile.lock
Verwendung entspricht:quelle
In meinem Fall haben die obigen Vorschläge bei mir nicht funktioniert. Meins war ein wenig anderes Szenario.
Als ich versuchte,
bundler
mit zu installierengem install bundler
.. Aber ich bekamdann habe ich versucht,
sudo gem install bundler
dann bekam ichdann habe ich es mit versucht
sudo gem install bundler -n /usr/local/bin
(/usr/bin
in meinem Fall einfach nicht arbeiten).Und dann erfolgreich installiert
bundler
BEARBEITEN: Ich verwende MacOS und
/usr/bin
arbeite aus diesem Grund möglicherweise nicht für mich ( https://stackoverflow.com/a/34989655/3786657 Kommentar).quelle
Ich hatte heute das gleiche Problem. Ich löse dieses Problem , indem jede Entfernung
PATH
in.bashrc
für älterervm
.quelle
Mein Problem war, dass ich RVM verwende und die falsche Ruby-Version aktiviert habe ...
Hoffe das hilft mindestens einer Person
quelle
Zusätzlich zu den vielen Antworten ergab sich mein Problem aus dem Wunsch, den Rubin des Dockers als Basis zu verwenden, aber dann rbenv darüber zu verwenden. Das vermasselt viele Dinge.
Ich habe es in diesem Fall behoben durch:
Danach hat rbenv gut funktioniert. Ich bin mir nicht sicher, wie diese Env-Vars überhaupt geladen wurden ...
quelle
Ich habe Ruby in meinem speziellen Fall von 2.5.x auf 2.4.x herabgestuft.
quelle
Was ich tun musste
rake clean --force
. Dann tatgem install rake
und so weiter.quelle