Ich erhalte die folgende Fehlermeldung, wenn ich versuche, Edelsteine in Windows zu verwenden, und ich habe auch auf diesen Stackoverflow-Beitrag verwiesen und Rubygems und Rails aktualisiert. Aber nichts konnte das Problem lösen.
Das Folgende ist der vollständige Fehler:
D: \> gem env Ungültige Gemspec in [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /tilt-1.3.3.gemspec]: Ungültiges Datumsformat in Spezifikation: "2011-08-25 00:00:00 .000000000Z " Ungültige Gemspec in [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /execjs-1.2.4.gemspec]: Ungültiges Datumsformat in Spezifikation: "2011-08-03 00:00: 00.000000000Z Ungültige Gemspec in [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /temple-0.3.3.gemspec]: Ungültiges Datumsformat in Spezifikation: "2011-08-26 00:00: 00.000000000Z Ungültige Gemspec in [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-0.6.3.gemspec]: Ungültiges Datumsformat in Spezifikation: "2011-09-01 00: 00: 0 0,000000000Z Ungültige Gemspec in [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-livereload-0.3.1.gemspec]: Ungültiges Datumsformat in Spezifikation: "2011-09 -01 00: 00: 00.000000000Z Ungültige Gemspec in [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /rack-cache-1.0.3.gemspec]: Ungültiges Datumsformat in Spezifikation: "2011-08-27 00 : 00: 00.000000000Z " Ungültige Gemspec in [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /tilt-1.3.3.gemspec]: Ungültiges Datumsformat in Spezifikation: "2011-08-25 00:00:00 .000000000Z " Ungültige Gemspec in [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /execjs-1.2.4.gemspec]: Ungültiges Datumsformat in Spezifikation: "2011-08-03 00:00: 00.000000000Z Ungültige Gemspec in [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /temple-0.3.3.gemspec]: Ungültiges Datumsformat in Spezifikation: "2011-08-26 00:00: 00.000000000Z Ungültige Gemspec in [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-0.6.3.gemspec]: Ungültiges Datumsformat in Spezifikation: "2011-09-01 00: 00: 0 0,000000000Z Ungültige Gemspec in [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-livereload-0.3.1.gemspec]: Ungültiges Datumsformat in Spezifikation: "2011-09 -01 00: 00: 00.000000000Z Ungültige Gemspec in [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /rack-cache-1.0.3.gemspec]: Ungültiges Datumsformat in Spezifikation: "2011-08-27 00 : 00: 00.000000000Z " RubyGems-Umgebung: - RUBYGEMS-VERSION: 1.7.2 - RUBY VERSION: 1.8.7 (30.06.2011 Patchlevel 352) [i386-mingw32] - INSTALLATIONSVERZEICHNIS: D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8 - RUBY EXECUTABLE: D: /RailsInstaller/Ruby1.8.7/bin/ruby.exe - AUSFÜHRBARES VERZEICHNIS: D: /RailsInstaller/Ruby1.8.7/bin - RUBYGEMS-PLATTFORMEN: - Rubin - x86-mingw32 - GEM-WEGE: - D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8 - C: / Dokumente und Einstellungen / jeygokul / .gem / ruby / 1.8 - GEM-KONFIGURATION: -: update_sources => true -: verbose => true -: Benchmark => falsch -: backtrace => false -: batch_threshold => 1000 - FERNQUELLEN: - http://rubygems.org/
ruby-on-rails
rubygems
Abhishek
quelle
quelle
Die ultimative Lösung ist folgende:
Durchsuchen Sie "spec" -Dateien in Ihrem Ruby-Verzeichnis: * C: \ Ruby187 \ lib \ ruby \ gems \ 1.8 \ specs *
Wenn eine gemspec-Datei Folgendes enthält: s.date =% q {2011-10-13 00: 00: 00.000000000Z } Löschen Sie dann den Teil 00: 00: 00.000000000Z : s.date =% q {2011-10- 13}
Nach dem Speichern dieser gemspec-Dateien ist das Problem behoben.
quelle
sed -i 's/ 00:00:00.000000000Z//g' path_to_gemspecs
Keine dieser Lösungen hat bei mir funktioniert. Um das Problem zu beheben, habe ich den gesamten Inhalt des genannten Verzeichnisses entfernt (einige / path / to / specation /) und dann die benötigten Edelsteine installiert (eigentlich Bundler, dann Bundle-Installation).
quelle
Zusätzlich zum Laufen habe
gem update --system
ichgem install <gem with bad gemspec>
für jeden Gegenstand Edelstein verwendet, der als schlecht gemeldet wurde. Dadurch wurden die Fehler auf meinem Computer behoben.quelle
Wie Michael im Kommentar sagte:
quelle
Hatte das gleiche Problem beim Versuch, ein GEM unter Ubuntu 11.10 zu installieren.
Die oben genannten Optionen haben bei mir nicht funktioniert.
gem env
berichtete über Folgendes:Daher nahm ich an, dass dieses Problem auf die Tatsache zurückzuführen ist, dass ich eine neuere Version von RubyGems installiert habe.
Bei der Ausgabe
gem update --system
wurde die folgende Warnung ausgegeben:Allerdings konnte ich endlich
rubygems
auf 1.8.15 aktualisieren , indem ich Folgendes herausgab:Danach hat alles geklappt, viel Glück! :) :)
quelle
sudo apt-get purge rubygems
anschließendsudo apt-get install rubygems
und dann alle wieder die Edelsteine zu installieren. Umständlich, aber zumindest hat es funktioniert: P (das oben genannte hat bei mir nicht funktioniert)Ungültige gemspec in [/var/lib/gems/1.8/specifications/chronic-0.6.4.gemspec]: ungültiges Datumsformat in Spezifikation: "2011-09-09 00: 00: 00.000000000Z"
Die einfache Lösung für ein solches Problem besteht darin, zur Datei zu navigieren.
Schritt 1. cd /var/lib/gems/1.8/specifications
Schritt 2. Öffnen Sie die Datei (chronisch-0.6.4.gemspec) im Editor Ihrer Wahl ... (gedit chronisch-0.6.4.gemspec)
Schritt 3. Ändern Sie das Datum =% q {2011-10-13 00: 00: 00.000000000Z} in Datum =% q {2011-10-13}.
Prost :)
quelle
Ich hatte gerade das gleiche Problem auf meinem Ubuntu nach dem Upgrade auf 10.10. Keines der oben genannten hat bei mir funktioniert. Ich musste das Skript update_rubygems von http://rubygems.org/pages/download installieren und einmal ausführen. Nachworte hat alles geklappt.
quelle
Ich habe dieses Problem behoben, indem ich die entsprechende Zeile in D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications/tilt-1.3.3.gemspec durch Setzen von s.date = geändert habe Time.now anstelle von s.date = "2011-08-25 00: 00: 00.000000000Z" Dasselbe kann auch für die anderen Dateien verwendet werden.
quelle
Ich habe zu viele Edelsteine, um sie einzeln zu reparieren, und versuche beide
update_rubygems
undgem pristine --all
immer noch kein Glück.Also
rvm clear gemset
entferne ich alle Edelsteine mit falscher Edelsteinspezifikation. Führen Sie ausbundle install
, um alle Edelsteine und Viola neu zu installieren!quelle
Unrecognized command line argument: 'clear' ( see: 'rvm usage' )
rvm gemset empty your_gemset_name_or_global
quelle
Gelöst durch Laufen
gem update --system
danngem update
.quelle
Die verschiedenen Lösungen in diesen Antworten haben bei mir nicht funktioniert. Was funktionierte, war die Neuinstallation der spezifischen Versionen der beleidigenden Edelsteine. In Ihrem Fall würde das so aussehen:
Ich denke, dass
gem pristine xxx yyy zzz
odergem pristine --all
könnte nicht immer (jemals?) Zu den Edelstein-Repositories gehen, wohingegengem install xxx -v v.r.m
.Wie auch immer, die Neuinstallation der fehlerhaften Versionen der Edelsteine hat bei mir funktioniert, obwohl es mühsam war ...
quelle
rvm gemset clear
und dannbundle install
für mich gearbeitet!quelle
"gem install rubygems-update", "update_rubygems", dann "gem pristine --all" ist die Kombination, die das Problem für mich gelöst hat, nachdem keine der zuvor aufgelisteten funktioniert hat.
quelle
In meinem Fall wurden die referenzierten Gem-Versionen nicht einmal installiert. Ich hatte diese Edelsteine, aber nicht die Versionen, deren Edelsteinspezifikationen den Fehler verursachten. Also habe ich gerade jede der Dateien /path/to/specifications/offending-XYZZ.gemspec gelöscht.
quelle
Dies ist nicht wirklich eine Antwort, aber wenn jemand Lust hat, mehr zu graben, habe ich diese gemspec-Spezifikation hier gefunden: http://rubygems.rubyforge.org/rubygems-update/Gem/Specification.html (scrollen Sie nach unten zu date = date () und klicken Sie Quelle anzeigen):
Ich denke, dies ist der Code, der diese gemspec analysiert, und es sieht einfach so aus, als ob das Datumsformat in den Dateien, die Fehler anzeigen, nicht mit diesem übereinstimmt.
Was ich getan habe, war, diese störenden Edelsteinspezifikationen wie oben vorgeschlagen manuell zu reparieren (das Ändern der Daten in "JJJJ-MM-TT", es funktioniert für mich.
Alle Rubygem-Spezifikationen, die ich hatte und die dieses Problem hatten, haben auch eine Linie
s.rubygems_version =% q {1.3.5}
Ich vermute also, dass dies nur alte Edelsteine sind? Und was ist überhaupt mit diesen% q {...}?
quelle
Wenn Sie diesen Fehler unter Ubuntu 11.04 hatten, war meine Lösung die folgenden Befehlszeilen:
Danach erhalten Sie keinen Datumsfehler mehr.
quelle