Beim Versuch, es auszuführen, wird die folgende Fehlermeldung angezeigt cap production deploy
.
DEBUG [dc362284] Bundler::GemNotFound: Could not find json-1.8.1.gem for installation
DEBUG [dc362284] An error occurred while installing json (1.8.1), and Bundler cannot continue.
DEBUG [dc362284] Make sure that `gem install json -v '1.8.1'` succeeds before bundling.
Es kann wichtig sein zu beachten, dass diese Bereitstellung funktioniert hat, als ich auf Ruby 2.1.0 aktualisiert habe, um einen Codierungsfehler zu entfernen. Ich habe vor Ort ein Upgrade durchgeführt, was gut funktioniert hat. Ich habe meine Datei ausgeführt rvm install 2.1.0
und rvm use 2.1.0
dann geändert .ruby-version
, um dieses Ruby-Upgrade widerzuspiegeln.
Der bundle install
Befehl funktioniert lokal, erzeugt jedoch den gleichen obigen Fehler, wenn ich auf den Zielserver ssh und diesen Befehl ausführe.
Wenn ich renne, gem list
kann ich das in der Liste der Edelsteine sehen.
...
jquery-rails (3.0.4)
json (1.8.1)
less (2.3.2)
...
Wenn ich die empfohlene Lösung gem install json -v '1.8.1'
lokal und auf dem Zielserver versuche, erhalte ich die folgende Ausgabe:
Building native extensions. This could take a while...
Successfully installed json-1.8.1
Parsing documentation for json-1.8.1
Done installing documentation for json after 0 seconds
1 gem installed
Es scheint also, dass der Edelstein installiert ist, oder? Warum passiert dies? Wie kann ich das lösen? Jede Hilfe wäre sehr dankbar.
quelle
bundle show json
gibt dir?gem json, '1.8.1'
zu Gemfilesudo apt-get install ruby-dev
auf meinem Ubuntu.Antworten:
quelle
Nach einem halben Tag und fast unmittelbar nach dem Posten meiner Frage fand ich die Antwort. Bundler 1.5.0 hat einen Fehler, bei dem Standard-Edelsteine, auf die hier verwiesen wird, nicht erkannt werden
Die Lösung bestand darin, mit auf Bundler 1.5.1 zu aktualisieren
gem install bundler -v '= 1.5.1'
quelle
gem install json -v '1.8.1'
Fehler nach dem Update behoben die Fehlermeldung für mich.gem install json -v '1.8.1'
gefolgt vonbundle package
den Trick für michFühren Sie diesen Befehl aus, dann ist alles in Ordnung
quelle
Wenn Sie sich in MacOS Sierra befinden und Ihre Ruby-Version 2.4.0 ist. Die Ruby-Version ist nicht mit JSON 1.8.3 kompatibel.
Sie können versuchen, diese Zeile in Ihr Gemfile einzufügen:
Das funktioniert bei mir!
quelle
Um dieses Problem zu lösen, führen Sie einfach Folgendes aus:
bundle update
Die Version Ihres Bundlers wird aktualisiert. Dann renne:
bundle install
Ihr Problem wird gelöst. Lösung wird gut erklärt hier .
quelle
bundle update
hat die Installation super funktioniert. Vielen Dank für die saubere Lösung.bundle update
aktualisiert alle Ihre Edelsteine.gem update bundler
wird Bundler aktualisieren.Ich habe hier die Lösung gefunden . Es gibt ein Problem mit json Version 1.8.1 und Ruby 2.2.3. Installieren Sie daher die json 1.8.3 Version.
quelle
Gemfile.lock
und laufe dann einfachbundle install
und das wars.Du solltest es versuchen
In meinem Fall (Ubuntu 14.04) funktionierte das nicht direkt und ich musste dies tun:
und dann könnte ich den Edelstein installieren und fortfahren. Hatte noch ein Problem, das behoben wurde durch:
Hoffen hilft.
quelle
Wenn die empfohlene Antwort nicht geholfen hat, weil Sie bereits eine neuere Version von Bundler verwenden. Probieren Sie die Lösung aus, die für mich funktioniert hat.
Löschen Sie alles in Ihrem Lieferantenordner. Fügen Sie Ihrer Gemfile eine Zeile hinzu
Dann laufen -
bundle update json
.Es scheint ein Problem mit 1.8.1 zu sein, also hat es mir geholfen, auf 1.8.0 zurückzukehren.
quelle
gem 'json', '1.8.6'
hat bei mir funktioniert. Vielleicht möchten Sie das versuchen.Ich bin auf diesen Fehler gestoßen, als ich versucht habe, ein Projekt auf meiner lokalen Entwicklungsbox (OSX 10.6) mit Sinatra und Postgresql (über activerecord) auf einem rvm'd Ruby 2.1 auszuführen. Ich habe meine Antwort hier gefunden: https://github.com/wayneeseguin/rvm/issues/2511
Mein genaues Problem (nach dem ersten Block von Protokolleinträgen):
Die Antwort :
Die Erklärung :
Der Vollständigkeit halber hatte ich zunächst vergessen, rvm (
rvm get head
) zu aktualisieren , was einige andere Fehler verursachte, aber das--disable-binary
Flag brauchte ich trotzdem, nachdem ich dies getan hatte.quelle
rvm list
, und Sie werden sehen, was Ihre aktuelle Version ist. Verwenden Sie die vollständige Zeichenfolge (z. B. ruby-2.0.0-p451) anstelle der2.1.0
oben genannten.bundle update json
. Hat geholfen durchzukommen.quelle
Als ich versuchte, den json-Edelstein mit
gem install json
getrennt von nur mit zu installieren,bundle install
bekam ichERROR: Failed to build gem native extension.
nach, dass ich mit gefunden habehat den Trick gemacht
quelle
Stellen Sie für OS X sicher, dass Sie Coreutils haben
quelle
Dies scheint ein Fehler in Bundler zu sein, der die zusammen mit Ruby 2.x installierten Standard-Edelsteine nicht erkennt. Ich hatte das Problem auch mit der neuesten Version von Bundler (1.5.3).
Eine Lösung besteht darin, json-1.8.1.gemspec einfach aus dem Standardverzeichnis von gemspec zu löschen.
Danach sollte der Bündler kein Problem damit haben, den Edelstein zu finden. Beachten Sie, dass ich chruby verwende. Wenn Sie einen anderen Ruby-Manager verwenden, müssen Sie Ihren Pfad entsprechend aktualisieren.
quelle
Mir fehlte die C-Header-Lösung, sie für Xcode herunterzuladen. Dies ist der beste Weg.
Ich hoffe es hilft.
quelle
Bundle konnte json -v '1.8.1' nicht installieren und das Löschen von Gemfile.lock und das erneute Ausführen von Bundle lösten dieses Problem für mich.
quelle
Ich habe die neueste Version von json installiert:
Dann löschte die Zeile json (1.8.1) aus der Gemfile.lock und tat a
Und dann verwendet die Datei Gemfile.lock json (1.8.3) ohne Fehler
quelle
Die Ruby-Version von 1.9 auf 2.2 mit rvm zu wechseln, hat den Job für mich erledigt
quelle
Für mich waren einige der zuvor erwähnten Antworten aus verständnisvoller Sicht hilfreich, aber diese haben mein Problem nicht gelöst.
Das habe ich getan, um das Problem zu lösen.
Bundler -v
Befehl). Ich hatte Version 1.12.5 installiertgem install bundler -v '1.11.2'
)quelle
Für macOS Sierra:
Ich bin auf diesen Fehler gestoßen, als ich bundler (
v1.15.3
) im Rails (v4.2
) -Projekt verwendet habe. Die Lösung für mich istgem uninstall bundler -v '1.15.3'
undgem install bundler -v '1.14.6'
.quelle