Fehler "Bundler konnte nicht gefunden werden"

107

Wenn ich es versuche, bundler updateerhalte ich folgende Fehlermeldung:

.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in
`to_specs': Could not find bundler (>= 0) amongst
[rake-0.8.7, rake-0.8.7, rubygems-update-1.8.4] (Gem::LoadError)

Ich bin neu bei Ruby. Kann mir jemand sagen, was dies verursachen würde? Rake 0.8.7 ist installiert.

Steven
quelle
1
0 down vote Es heißt, Sie haben keinen Bundler installiert. Wenn Sie eine 'Edelsteinliste b' ausführen, sehen Sie einen Bündler?
Jake Dempsey

Antworten:

214

Stellen Sie sicher, dass Sie das "Bundle" -Update eingeben, wenn Sie das Bundler-Juwel installiert haben.

bundle update

Wenn Sie keinen Bundler installiert haben, tun Sie dies gem install bundler.

Ardavis
quelle
Wenn Sie eine neue Anwendung erstellen - Schienen neu und wenn Sie diesen Fehler erhalten?
AMIC MING
2
Mach ein gem list bundlerund schau, ob es auftaucht. Wenn dies nicht der Fall ist, müssen Sie es wie in meiner Antwort aufgeführt installieren.
Ardavis
10
Dies geschah für mich nach der Installation einer neuen Version von Ruby mit rvm. Dann musste ich laufen gem install bundlerwieder
NRR
61

Ich hatte dieses Problem, dann tat ich:

gem install bundle

Beachten Sie, dass "Bundle" und nicht "Bundler" mein Problem gelöst haben.

Dann machen Sie in Ihrem Projektordner:

bundle install

und dann können Sie Ihr Projekt ausführen mit:

script/rails server
Dorian
quelle
gem install bundle - das hat es auch für mich getan.
Don Cote
10
Beachten Sie, dass der Edelstein "Bundle" einfach ein Edelstein ist, der "Bundler" als Abhängigkeit deklariert, wodurch Ihr Tippfehler im Wesentlichen behoben wird. github.com/will/bundle/blob/…
Sealocal
13

Ich hatte das gleiche Problem. Das hat bei mir funktioniert:

  1. Führen Sie rvm / script / rvm aus und fügen Sie es Ihrem .profile oder .bash_profile hinzu, wie in https://rvm.io/rvm/install/ gezeigt.

  2. Verwenden Sie das Bundle ohne Sudo

bjelli
quelle
8

Der Befehl lautet bundle update(es gibt kein "r" im "Bundle").

Um zu überprüfen, ob der Bundler installiert ist, gehen Sie wie folgt vor: gem list bundleroder sogar, which bundleund der Befehl listet entweder die Bundler-Version oder den Pfad dazu auf. Wenn nichts angezeigt wird, installieren Sie den Bundler durch Eingabe gem install bundler.

Zabba
quelle
7

Ich hatte das gleiche Problem. Es ist etwas mit meinem Bash-Profil passiert, das das RVM-Zeug nicht richtig eingerichtet hat.

Stellen Sie sicher, dass Ihr Bash-Profil die folgende Zeile enthält:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"  # This loads RVM into a shell session.

Dann habe ich "source ~ / .bash_profile" ausgeführt und alles, was in meinem Bash-Profil war, neu geladen.

Das schien es für mich zu reparieren.

Brian Vitrue
quelle
Danke dafür. Während ich wusste, wie man "Bundle" gegen "Bundler" buchstabiert, hatte ich völlig vergessen, dass ich zsh neu installiert habe und dabei versehentlich diese Zeile von meiner .zshrc weggeblasen habe. Hatte mir schon eine Weile die Haare ausgezogen :)
rmurphey
Diese Antwort ist alt, aber für mich war es die Lösung!
jonnyjava.net
Stellen
6

Nach dieser Antwort auf eine ähnliche Frage sollte es ausreichen:

rvmsudo gem install bundler.

Prost

Andrew Khouzam
quelle
4

Möglicherweise müssen Sie zuerst etwas wie "rvm use 1.9.2" ausführen, damit Sie den richtigen Rubin und Gemset verwenden. Sie können überprüfen, welchen Rubin Sie verwenden, indem Sie "Welcher Rubin" ausführen.

mgauthier
quelle
2

Ich habe dies nach dem Upgrade auf Ruby 2.1.0 erhalten. Mein PATHwurde in meinem Anmeldeskript so eingestellt, dass es enthält .gem/ruby/2.0.0/bin. Das Aktualisieren der Versionsnummer hat das Problem behoben.

Thomas Leonard
quelle
2

Das System läuft möglicherweise "rootless". Versuchen Sie, die Boot-Argumente der Firmware-NVRAM-Variablen auf "rootless = 0" zu setzen. Versuchen Sie, eine Reihe von Befehlen auszuführen:

sudo nvram boot-args="rootless=0"; 
sudo reboot

Führen Sie nach Abschluss des Neustarts Folgendes aus:

sudo gem install bundler
Bogdan Ustyak
quelle
2

Wenn Sie rbenvRunning verwenden, rbenv rehashkann dies nach der Installation behoben werden, bundlerund das Problem tritt weiterhin auf.

eebbesen
quelle
1

Für alle, die auf dieses Problem mit Capistrano stoßen: capistrano kann das nicht finden bundler. Der Grund könnte sein, dass Sie den Bundler unter einem anderen installiert haben, gemsetbei dem der Capistrano nicht einmal hinschaut.

  1. Listen Sie Ihre Edelsteine ​​auf.

rvm gemset liste

  1. Verwenden Sie ein bestimmtes Gemset.

rvm benutze 'my_get_set'

  1. Installieren Sie den Bundler unter diesem Gemset.

gem install bundler

Versuchen Sie es dann erneut mit der Bereitstellungsaufgabe.

Nerv
quelle
0

In meinem Fall glaube ich, dass ein alter Ruby auf dem System verbleibt, der nicht auf rvm registriert ist, und selbst wenn die Pfadvariablen und die Edelsteinliste in Ordnung wären, würde er den alten Ruby während der Bereitstellung mit Capistrano verwenden

Und dann wurde mir klar, dass der Ruby, den ich mit rvm installiert hatte, nicht auf den Standard eingestellt war. Laufen

rvm alias create default <rvm_registered_ruby>

Behoben.

Cyril Duchon-Doris
quelle
0

Nur für den Fall, ich hatte einen ähnlichen Fehler mit Bundler 2.1.2 und löste ihn mit:

sudo gem install bundler -v 1.17.3

Wenn Sie mehrere Bundler-Versionen installiert haben, können Sie eine bestimmte Bundle-Version folgendermaßen ausführen: bundle _1.17.3_ exec rspec

Obwohl spätere Bundler-Versionen ziemlich fehlerhaft zu sein scheinen (Probleme mit 3 verschiedenen Projekten auf 2 Betriebssystemen), funktioniert ein alter Bundler möglicherweise am besten, zumindest habe ich dies auf meinem Ubuntu und MacOS

Daniel Garmoshka
quelle