webentwicklung-frage-antwort-db.com.de

Ungültige Datumsformatangabe in gemspec

Ich erhalte den folgenden Fehler, wenn ich versuche, Edelsteine ​​in Fenstern zu verwenden, und ich bezog mich auch auf diesen Stackoverflow-Beitrag und aktualisierte Rubygems und Rails. Aber nichts konnte das Problem lösen.

Das Folgende ist der vollständige Fehler,

 D: \> gem env 
 Ungültige Gemspezifikation 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ültig 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 Gemspezifikation 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 Gemspezifikation in [D: /RailsInstaller/Ruby1.8.7/lib/Ruby/gems /1.8/specifications[.____.owntown/guard-livereload-0.3.1.gemspec]: ungültiges Datumsformat in Spezifikation: "2011-09 
 - 01 00: 00: 00.000000000Z "
 Ungültige Gemspezifikation 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 Gemspezifikation in [D: /RailsInstaller/Ruby1.8.7/lib/Ruby/gems/1.8 /specifications[.____.owntown/tilt-1.3.3.gemspec]: Ungültiges Datumsformat in Spezifikation: "2011-08-25 00:00:00 
. 000000000Z" 
 Ungültige Gemspezifikation 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 Gemspezifikation 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 Gemspezifikation in [D: /RailsInstaller/Ruby1.8.7/lib/Ruby/gems/1.8/ Spezifikationen 
/guard-0.6.3.gemspec]: ungültiges Datumsformat in Spezifikation: "2011-09-01 00: 00: 0 
 0. 000000000Z "
 Ungültige Gemspezifikation 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 Gemspezifikation 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 (2011-06-30 Patchlevel 352) [i386-mingw32] 
 - INSTALLATION VERZEICHNIS: 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: 
 - Ruby 
 - x86-mingw32 
 - GEM PATHS: 
 - D: /RailsInstaller/Ruby1.8.7/lib/Ruby/gems/1.8 
 - C:/Documents and Settings/jeygokul/.g em/Ruby/1.8 
 - GEM-KONFIGURATION: 
 -: update_sources => true 
 -: verbose => true 
 -: benchmark => false 
 -: backtrace => false 
 -: bulk_threshold => 1000 
 - FERNQUELLEN: 
 - http://rubygems.org/
111
Abhishek

Ich habe dieses Problem durch pgrade meines RubyGems auf 1.8.1 mit behoben

gem update --system

Edit: Du kannst es auch versuchen (wie von ZeissS vorgeschlagen)

gem install rubygems-update
update_rubygems
45
Michael

Die ultimative Lösung ist:

Suchen Sie nach "spec" -Dateien in Ihrem Ruby= Verzeichnis: * C:\Ruby187\lib\Ruby\gems\1.8\Specifications *

Wenn eine Gemspec-Datei etwa Folgendes enthält: s.date =% q {2011-10-13 : 00: 00.000000000Z} Löschen Sie dann : 00: 00.000000000Z = Teil: am Datum =% q {13.10.2011}

Nach dem Speichern dieser gemspec-Dateien ist das Problem behoben.

132
GaborKomaromi

Keine dieser Lösungen hat bei mir funktioniert. Um das Problem zu beheben, entfernte ich den gesamten Inhalt des genannten Verzeichnisses (einige/path/to/species /) und installierte dann die Juwelen, die ich brauchte (eigentlich Bundler, dann Bundle-Installation).

46
Romain Tribes

Zusätzlich zum Ausführen von gem update --system Ich benutzte gem install <gem with bad gemspec> für jeden Gegenstand, den gem env als schlecht gemeldet hat. Dadurch wurden die Fehler auf meinem Computer behoben.

12
TheArtTrooper

Wie Michael im Kommentar sagte:

gem pristine --all
10
wingfire

Hatte das gleiche Problem beim Versuch, ein GEM auf Ubuntu 11.10 zu installieren.

Invalid gemspec in [/var/lib/gems/1.8/specifications/svn2git-2.1.2.gemspec]: invalid date format in specification: "2011-12-28 00:00:00.000000000Z"

Die oben genannten Optionen haben bei mir nicht funktioniert. gem env berichtete über Folgendes:

RubyGems Environment:
  - RUBYGEMS VERSION: 1.7.2
  - Ruby VERSION: 1.8.7 (2011-06-30 patchlevel 352) [i686-linux]

Daher nahm ich an, dass dieses Problem darauf zurückzuführen ist, dass ich eine neuere Version von RubyGems benötigte.

Ausgabe gem update --system gab folgende Warnung aus:

ERROR:  gem update --system is disabled on Debian, because it will overwrite the content of the rubygems Debian package, and might break your Debian system in subtle ways. The Debian-supported way to update rubygems is through apt-get, using Debian official repositories.
If you really know what you are doing, you can still update rubygems by setting the REALLY_GEM_UPDATE_SYSTEM environment variable, but please remember that this is completely unsupported by Debian.

Es war mir jedoch endlich möglich, rubygems auf 1.8.15 zu aktualisieren, indem ich Folgendes ausgab:

Sudo gem install rubygems-update && update_rubygems

Danach hat alles geklappt, viel Glück! :)

6
JonnyReeves

Ungültige Gemspezifikation 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 (chronic-0.6.4.gemspec) im Editor Ihrer Wahl ... (gedit chronic-0.6.4.gemspec)
Schritt 3. Ändern Sie das Datum ab =% q {2011-10-13 00: 00: 00.000000000Z} in Datum ab =% q {2011-10-13}.

Prost :)

3
Addicted
cd vendor/bundle/Ruby/1.9.x/specifications
sed -i 's/ 00\:00\:00.000000000Z//g' *
2
Anno2001

Ich habe dieses Problem durch Ändern der entsprechenden Zeile in D: /RailsInstaller/Ruby1.8.7/lib/Ruby/gems/1.8/specifications/tilt-1.3.3.gemspec durch Setzen von s.date = behoben Time.now statt am date = "2011-08-25 00: 00: 00.000000000Z" Das gleiche kann auch die anderen Dateien verwenden.

2
sanitha

Ich habe zu viele Edelsteine, um einen nach dem anderen zu reparieren, und versuche sowohl update_rubygems Als auch gem pristine --all Immer noch ohne Glück.

Also benutze ich rvm clear gemset, Um alle Edelsteine ​​mit falscher Edelsteinspezifikation zu entfernen. Führen Sie bundle install Aus, um alle Edelsteine ​​neu zu installieren, und Viola!

2
taiansu

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 update_rubygems-Skript von http://rubygems.org/pages/download installieren und einmal ausführen. Afterwords hat alles geklappt.

2
ZeissS

Die verschiedenen Lösungen in diesen Antworten haben bei mir nicht funktioniert. Was funktionierte, war die Neuinstallation der spezifischen Versionen der fehlerhaften Edelsteine. In Ihrem Fall würde das so aussehen:

gem install tilt   -v 1.3.3
gem install execjs -v 1.2.4
gem install temple -v 0.3.3
gem install guard  -v 0.6.3
gem install guard-livereload -v 0.3.1
gem install rack-cache -v 1.0.3

Ich denke, dass gem pristine xxx yyy zzz oder gem pristine --all wird möglicherweise nicht immer (jemals?) in die Edelstein-Repositories gehen, während gem install xxx -v v.r.m tut.

Wie auch immer, das erneute Installieren der fehlerhaften Versionen der Edelsteine ​​hat bei mir funktioniert, obwohl es mühsam war ...

1
Chris Markle

rvm gemset clear und dann bundle install hat für mich gearbeitet!

1
Vibhuti

"gem install rubygems-update", "update_rubygems", dann "gem pristine --all" ist die Kombination, die das Problem für mich gelöst hat, nachdem keines der zuvor aufgelisteten Probleme funktioniert hat.

1
Brian Knoblauch

Gelöst durch Ausführen von gem update --system dann gem update.

1
David Walsh

Dies ist keine wirkliche Antwort, aber wenn jemand mehr graben möchte, habe ich diese gemspec-Spezifikation hier gefunden: http://rubygems.rubyforge.org/rubygems-update/Gem/Specification.html (scrollen Sie nach unten zu Datum = Datum () und klicken, um Quelle anzuzeigen):

@date = case date
when String then
  if %r\A(\d{4})-(\d{2})-(\d{2})\Z/ =~ date then
    Time.utc($1.to_i, $2.to_i, $3.to_i)
  else
    raise(Gem::InvalidSpecificationException,
          "invalid date format in specification: #{date.inspect}")
  end
when Time, Date then
  Time.utc(date.year, date.month, date.day)
else
  TODAY
end

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 Gemspecs wie oben vorgeschlagen manuell zu korrigieren (Ändern der Daten in "JJJJ-MM-TT", funktioniert bei mir.

Alle Rubygem-Spezifikationen, die ich hatte, die dieses Problem hatten, haben auch eine Linie

s.rubygems_version =% q {1.3.5}

Also denke ich, das sind nur alte Juwelen? Und was ist überhaupt mit diesen% q {...}?

0
PapaFreud

Wenn Sie diesen Fehler unter Ubuntu 11.04 hatten, lautete meine Lösung wie folgt:

$ Sudo apt-get install Ruby1.9.1

Danach wird der Datumsfehler nicht mehr angezeigt.

0
mazyZed

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 /path/to/specifications/offending-X.Y.ZZ.gemspec-Dateien gelöscht.

0
Jon Garvin