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.


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.


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

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



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.


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.


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



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.


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.


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

2

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



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.


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.


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.