J'obtiens l'erreur suivante lorsque j'essaie d'utiliser des gemmes dans Windows, et j'ai également fait référence à ce post stackoverflow et à des rubygems et rails mis à jour. Mais rien ne pouvait résoudre le problème.
Ce qui suit est l'erreur complète,
D: \> gem env Gemspec non valide dans [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /tilt-1.3.3.gemspec]: format de date non valide dans la spécification: "2011-08-25 00:00:00 .000000000Z " Gemspec non valide dans [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /execjs-1.2.4.gemspec]: format de date non valide dans la spécification: "2011-08-03 00:00: 00.000000000Z " Gemspec non valide dans [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /temple-0.3.3.gemspec]: format de date non valide dans la spécification: "2011-08-26 00:00: 00.000000000Z " Gemspec non valide dans [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-0.6.3.gemspec]: format de date non valide dans la spécification: "2011-09-01 00: 00: 0 0.000000000Z " Gemspec non valide dans [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-livereload-0.3.1.gemspec]: format de date non valide dans la spécification: "2011-09 -01 00: 00: 00.000000000Z " Gemspec non valide dans [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /rack-cache-1.0.3.gemspec]: format de date non valide dans la spécification: "2011-08-27 00 : 00: 00.000000000Z " Gemspec non valide dans [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /tilt-1.3.3.gemspec]: format de date non valide dans la spécification: "2011-08-25 00:00:00 .000000000Z " Gemspec non valide dans [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /execjs-1.2.4.gemspec]: format de date non valide dans la spécification: "2011-08-03 00:00: 00.000000000Z " Gemspec non valide dans [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /temple-0.3.3.gemspec]: format de date non valide dans la spécification: "2011-08-26 00:00: 00.000000000Z " Gemspec non valide dans [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-0.6.3.gemspec]: format de date non valide dans la spécification: "2011-09-01 00: 00: 0 0.000000000Z " Gemspec non valide dans [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-livereload-0.3.1.gemspec]: format de date non valide dans la spécification: "2011-09 -01 00: 00: 00.000000000Z " Gemspec non valide dans [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /rack-cache-1.0.3.gemspec]: format de date non valide dans la spécification: "2011-08-27 00 : 00: 00.000000000Z " Environnement RubyGems: - VERSION RUBYGEMS: 1.7.2 - VERSION RUBY: 1.8.7 (niveau de patch 352 du 30/06/2011) [i386-mingw32] - RÉPERTOIRE D'INSTALLATION: D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8 - RUBY EXÉCUTABLE: D: /RailsInstaller/Ruby1.8.7/bin/ruby.exe - RÉPERTOIRE EXÉCUTABLE: D: /RailsInstaller/Ruby1.8.7/bin - PLATEFORMES RUBYGEMS: - rubis - x86-mingw32 - CHEMINS GEM: - D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8 - C: / Documents et paramètres / jeygokul / .gem / ruby / 1.8 - CONFIGURATION GEM: -: update_sources => true -: verbeux => vrai -: benchmark => faux -: backtrace => faux -: bulk_threshold => 1000 - SOURCES À DISTANCE: - http://rubygems.org/
ruby-on-rails
rubygems
Abhishek
la source
la source
La solution ultime est la suivante:
Recherchez les fichiers "spec" dans votre répertoire Ruby: * C: \ Ruby187 \ lib \ ruby \ gems \ 1.8 \ specs *
Si un fichier gemspec contient quelque chose comme ceci: s.date =% q {2011-10-13 00: 00: 00.000000000Z } Puis supprimez la partie 00: 00: 00.000000000Z : s.date =% q {2011-10- 13}
Après avoir enregistré ces fichiers gemspec, le problème est résolu.
la source
sed -i 's/ 00:00:00.000000000Z//g' path_to_gemspecs
Aucune de ces solutions n'a fonctionné pour moi. Pour y remédier, j'ai supprimé tout le contenu du répertoire mentionné (certains / chemin / vers / spécification /) puis j'ai installé les gemmes dont j'ai besoin (en fait, Bundler puis bundle install).
la source
En plus de courir,
gem update --system
j'ai utiliségem install <gem with bad gemspec>
sur chacun des objets gem env signalés comme mauvais. Cela a nettoyé les erreurs sur ma machine.la source
Comme Michael l'a dit dans le commentaire:
la source
J'ai eu le même problème en essayant d'installer un GEM sur Ubuntu 11.10.
Les options ci-dessus n'ont pas fonctionné pour moi.
gem env
a rapporté ce qui suit:J'ai donc supposé que ce problème était dû au fait que j'avais besoin d'une version plus récente de RubyGems installée.
L'émission de
gem update --system
l'avertissement suivant:Cependant, j'ai finalement pu mettre
rubygems
à jour vers la 1.8.15 en émettant:Tout a fonctionné après ça, bonne chance! :)
la source
sudo apt-get purge rubygems
suivresudo apt-get install rubygems
, puis réinstaller tous les joyaux. Gênant, mais au moins cela a fonctionné: P (ce qui précède n'a pas fonctionné pour moi)Gemspec non valide dans [/var/lib/gems/1.8/specifications/chronic-0.6.4.gemspec]: format de date non valide dans la spécification: "2011-09-09 00: 00: 00.000000000Z"
La solution simple à ce genre de problème est de naviguer vers le fichier .. par exemple.
Étape 1. cd /var/lib/gems/1.8/specifications
étape 2. ouvrez le fichier (chronic-0.6.4.gemspec) dans l'éditeur de votre choix ... (gedit chronic-0.6.4.gemspec)
étape 3. changer le s.date =% q {2011-10-13 00: 00: 00.000000000Z} en s.date =% q {2011-10-13}
À votre santé :)
la source
J'ai juste eu le même problème sur mon ubuntu après la mise à niveau vers 10.10. Aucun de ces éléments n'a fonctionné pour moi. J'ai dû installer le script update_rubygems de http://rubygems.org/pages/download et l'exécuter une fois. Après tout, tout a fonctionné.
la source
J'ai résolu ce problème 'spécification de format de date invalide' en modifiant la ligne correspondante dans D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications/tilt-1.3.3.gemspec en mettant s.date = Time.now au lieu de s.date = "2011-08-25 00: 00: 00.000000000Z" La même chose peut être utilisée avec les autres fichiers.
la source
J'ai trop de gemmes pour les réparer une par une, et j'essaye les deux
update_rubygems
etgem pristine --all
toujours pas de chance.J'utilise donc
rvm clear gemset
pour supprimer toutes les gemmes avec un gemspec incorrect. Exécutezbundle install
pour réinstaller toutes les gemmes, et Viola!la source
Unrecognized command line argument: 'clear' ( see: 'rvm usage' )
rvm gemset empty your_gemset_name_or_global
la source
Résolu en exécutant
gem update --system
alorsgem update
.la source
Les différentes solutions mentionnées dans ces réponses n'ont pas fonctionné pour moi. Ce qui a fonctionné a été de réinstaller les versions spécifiques des gemmes incriminées. Dans votre cas, cela ressemblerait à:
Je pense que
gem pristine xxx yyy zzz
ougem pristine --all
peut-être pas toujours (jamais?) Vers les référentiels de gemmes, alors que c'est legem install xxx -v v.r.m
cas.Quoi qu'il en soit, réinstaller les versions incriminées des gemmes a fonctionné pour moi, même si c'était fastidieux ...
la source
rvm gemset clear
et ensuitebundle install
travaillé pour moi!la source
"gem install rubygems-update", "update_rubygems", puis "gem pristine --all" est la combinaison qui a résolu le problème pour moi après qu'aucun des précédents n'a fonctionné.
la source
Dans mon cas, les versions de gemmes référencées n'étaient même pas installées. J'avais ces gemmes, mais pas les versions qui étaient à l'origine de l'erreur. Donc, je viens de supprimer chacun des fichiers /path/to/specifications/offending-XYZZ.gemspec.
la source
Ce n'est pas vraiment une réponse mais si quelqu'un a envie de creuser plus, j'ai trouvé cette spécification gemspec ici: http://rubygems.rubyforge.org/rubygems-update/Gem/Specification.html ( faites défiler jusqu'à date = date () et cliquez pour afficher la source):
Donc, je suppose que c'est le code qui analyse ce gemspec, et il ressemble juste au format de date qui se trouve dans les fichiers qui montrent des erreurs ne sont pas conformes à cela.
Ce que j'ai fait était de corriger manuellement ces gemspecs incriminés comme suggéré ci-dessus (en changeant les dates en "aaaa-mm-jj", cela fonctionne pour moi.
Toutes les spécifications rubygem que j'avais qui avaient ce problème ont également une ligne
s.rubygems_version =% q {1.3.5}
Donc je suppose que ce ne sont que de vieilles pierres précieuses? Et c'est quoi ces% q {...} de toute façon?
la source
Si vous aviez cette erreur sur Ubuntu 11.04, ma solution était les lignes de commande suivantes:
Après cela, vous n'obtiendrez pas l'erreur de date.
la source