Ich führe das folgende Skript aus:
gem install rdoc --no-document
gem install bundle
bundle
Ausgabe:
+ gem install rdoc --no-document
Successfully installed rdoc-6.1.1
1 gem installed
+ gem install bundle
Successfully installed bundle-0.0.1
Parsing documentation for bundle-0.0.1
Done installing documentation for bundle after 2 seconds
1 gem installed
1 gem installed
+ bundle install
/usr/lib/ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundle (Gem::GemNotFoundException)
from /usr/lib/ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
from /srv/myuser/.gem/ruby/2.5.0/bin/bundle:23:in `<main>'
Ich habe /srv/myuser/.gem/ruby/2.5.0/bin
meinen Pfad erweitert, damit ich Edelsteine installieren konnte.
die gem env
Shows
RubyGems Environment:
- RUBYGEMS VERSION: 2.7.7
- RUBY VERSION: 2.5.1 (2018-03-29 patchlevel 57) [x86_64-linux]
- INSTALLATION DIRECTORY: /usr/lib/ruby/gems/2.5.0
- USER INSTALLATION DIRECTORY: /srv/myuser/.gem/ruby/2.5.0
- RUBY EXECUTABLE: /usr/bin/ruby
- EXECUTABLE DIRECTORY: /usr/bin
- SPEC CACHE DIRECTORY: /srv/myuser/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /usr/lib/ruby/gems/2.5.0
- /srv/myuser/.gem/ruby/2.5.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- "gem" => "--user-install"
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /usr/local/sbin
- /usr/local/bin
- /usr/bin
gem list
zeigt die installierten Edelsteine. Ich kann auch ein Bundle finden, wenn ich spiele:
ls -ltrah /srv/myuser/.gem/ruby/2.5.0/bin
Ich habe auch versucht, Bundler zu installieren, aber das hat auch nicht geholfen. Was mache ich falsch?
gem which bundle
zeigt nichts. gem spec bundle
zeigt es.
Update: Ich habe versucht, den Bundler zu installieren, bevor ich das Bundle ausgeführt habe, aber das gleiche Problem tritt auf, während:
gem list bundle
zeigt an
bundle (0.0.1)
bundler (2.0.1)
Gemfile.lock
die Bundle-Installation zu löschen und erneutrubygems
auf eine neuere Version aktualisiert , sollte dies auch das Problem lösen.gem update --system
um auf die neueste Version zu aktualisieren (oder zumindestgem update --system '2.7.10' to stay on 2.7.x version of RubyGems
.Gemäß der im Beitrag erwähnten Beschreibung, bevor Sie den unten genannten Befehl ausführen:
Im Skript müssen Sie den folgenden Befehl ausführen:
Die Reihenfolge der Befehle wäre also:
Aktualisieren Sie den Bundler-Befehl, wenn dies nicht funktioniert:
gem install bundler -v '1.17.3'
Der Grund für die Unterbrechung der Funktionen in Bundler 2.0 ist im folgenden Link angegeben:
https://bundler.io/blog/2019/01/04/an-update-on-the-bundler-2-release.html
quelle
Ich konnte es nicht einmal tun
bundle -v
. Das hat es geklärt:Ich habe die Informationen von hier erhalten (ähnliches Problem): find_spec_for_exe ': Gem-Bundler kann nicht gefunden werden (> = 0.a) (Gem :: GemNotFoundException)
Wahrscheinlich eine Versionsinkongruenz zwischen Ruby + Gem + Bundler
quelle
gem install bundler -v '< 2.0'
quelle
Ich hatte kürzlich das gleiche Problem. In meinem Fall habe ich eine Version auf dem Bundler installiert, die sich von der in Gemfile.lock protokollierten Version unterscheidet. Bitte prüfen
quelle
Ich stand vor dem gleichen Problem. Das Problem wird durch die Tatsache verursacht, dass RubyGems kein ausführbares Bundle für das Bundler-Gem auf dem System finden kann
Um dies zu beheben, führen Sie zuerst aus
gem install bundler
Wenn Sie Bundler Gem nicht lokal installiert haben, führen Sie es aus
gem update --system
Das ist alles
ich hoffe das hilft
quelle
Sie müssen die genaue Version von Bundler installieren, nach der RubyGems sucht, indem Sie Folgendes ausführen:
$ gem install bundler -v "$(grep -A 1 "BUNDLED WITH" Gemfile.lock | tail -n 1)"
quelle
Ich habe heute den gleichen Fehler gemacht. Die Bundler-Version, die ich zuvor auf meinem System installiert hatte, war: 1.16.6
Befolgen Sie die Anweisungen in den offiziellen Bundler-Dokumenten zum Upgrade auf Bundler 2, und die folgenden beiden Schritte haben den Trick ausgeführt:
gem install bundler
(Hilft Ihnen, die neueste Version von Bundler zu erhalten, die ab heute 2.0.2 ist.)bundle update --bundler
quelle
Nach dem Upgrade von Mac OS auf Catalina wurde eine ähnliche Fehlermeldung für das Travis-Bundle angezeigt.
Traceback (most recent call last): 2: from /usr/local/bin/travis:22:in `<main>' 1: from /usr/local/Cellar/ruby/2.6.5/lib/ruby/2.6.0/rubygems.rb:263:in `bin_path' /usr/local/Cellar/ruby/2.6.5/lib/ruby/2.6.0/rubygems.rb:284:in `find_spec_for_exe': can't find gem travis (>= 0.a) with executable travis (Gem::GemNotFoundException)
Um das Problem zu beheben, habe ich Travis aus dem Quellcode neu installiert.
quelle