Quand j'inclus une gemme que j'ai faite, grâce à Bundler (version 1.0.12), dans un Gemfile et qu'ensuite j'essaye de grouper ou de ratisser juste comme ça:
$ rake
J'ai ce message d'erreur:
Invalid gemspec in [/Users/zagzag/.rvm/gems/ruby-1.9.2-p180@foobar/specifications/myplugin-1.0.0.gemspec]: invalid date format in specification: "2011-04-21 00:00:00.000000000Z"
Je suis sur le dernier Mac OS X (10.6.4), avec:
$ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.4.0]
et:
$ gem -v
Invalid gemspec in [/Users/zagzag/.rvm/gems/ruby-1.9.2-p180@foobar/specifications/myplugin-1.0.0.gemspec]: invalid date format in specification: "2011-04-21 00:00:00.000000000Z"
1.7.2
Je ne vois vraiment pas comment résoudre ce problème. Merci pour toutes les idées.
rubygems
bundler
ruby-1.9
ruby-1.9.2
Zag zag.
la source
la source
Réponses:
Voici la façon dont je corrige l'erreur "Format de date non valide dans la spécification":
1.) Accédez au dossier des spécifications situé à l'adresse:
/usr/local/lib/ruby/gems/1.8/specifications/
2.) Trouvez la spécification à l'origine du problème.
3.) Changer
s.date = %q{2011-05-21 00:00:00.000000000Z}
pours.date = %q{2011-05-21}
C'est un GAGNANT pour moi! Bonne chance
la source
Voici la commande pour résoudre ce problème pour toutes vos gemmes:
Il convertit
s.date = %q{2011-05-21 00:00:00.000000000Z}
às.date = %q{2011-05-21}
et devrait résoudre votre problème.la source
git init . && git commit -am "backup
Veuillez noter le commentaire de Damian Nowak. Ces commandes peuvent gâcher vos rubygems!
Sur Ubuntu 11.10, ce qui suit a résolu cette erreur:
Les éléments suivants peuvent fonctionner sur certains systèmes mais pas sur Debian:
la source
Vous pouvez mettre à jour votre
gem
. Pour résoudre ce problème, vous pouvez modifier legemspec
fichier directement - à partir deà
Ou améliorez également vos rails
Cela résoudra le problème.
la source
specifications
répertoire c'est monspecifications
chemin de répertoire -/home/sayuj/.rvm/gems/ruby-1.9.2-p180/specifications/
Ne spécifiez pas l'heure ... juste la date.
2011-04-21
devrait bien fonctionner.la source
git ls-files
.split ("\ n ") s.test_files =git ls-files -- {test,spec,features}/*
.split (" \ n ") s.require_paths = [" lib "] endEu le même problème. Cela ressemble à un bug dans les rubygems. Voici le commit qui l'a corrigé: https://github.com/rubygems/rubygems/commit/21cccd55b823848c5e941093a615b0fdd6cd8bc7
Vous devez mettre à jour rubygems et bundler avec les dernières versions. Si vous rencontrez toujours des problèmes après cela, vous devrez peut-être supprimer puis réinstaller tous les gemmes qui vous posent des problèmes.
la source
Ceci est plus un commentaire à la réponse de Ben Hall, mais je n'ai pas encore ce privilège il semble
Les mises à jour des gemmes ne semblent pas fonctionner, je pense qu'il ne peut même pas charger le gem à cause du mauvais format de date. changer manuellement les dates était trop frustrant pour aller un par un, donc un grep:
Et pour sed:
Et à vos risques et périls !! Je suis toujours un débutant sed, mais cela a fonctionné pour moi;)
la source
Sur mon serveur slicehost, le dossier des spécifications était situé à un endroit différent. Voici le chemin:
/usr/lib/ruby/gems/1.8/specifications
L'erreur fournie doit donner le chemin d'accès au dossier des spécifications.
la source
L'approche du fusil de chasse: désinstallez toutes les gemmes et relancez le bundler.
gem list --no-version | xargs gem uninstall -aIx
rm -i `rvm gemdir`/specifications/*.gemspec
gem update --system
gem install bundler
bundle install
la source
.rvmrc
fichier, faites attention à exécuter la ligne 2 car gemdir peut produire une sortie supplémentaire.(Jusqu'à ce que le correctif de bogue entre dans une version stable de Rubygems) Je l'ai résolu en réinstallant la même version de tous les gemmes générant des avertissements en utilisant le commutateur --version de la commande gem.
la source
Comme l'a dit Ben Hall, vous devez corriger le fichier gemspec qui peut changer d'un système à l'autre. Pour savoir quel fichier est voir quel fichier est dit dans le rapport d'erreur, par exemple:
Dans cet exemple, vous devez modifier le fichier "/var/lib/gems/1.8/specifications/svn2git-2.1.2.gemspec" et remplacer "2011-12-28 00: 00: 00.000000000Z" par "2011-12-28" en option à la date.
la source
Avait ce problème encore maintenant. La mise à jour de Rubygems l'a bien résolu:
la source
Voici mon environnement:
J'ai finalement réussi à trouver une cause / un moyen d'éviter ces erreurs sur mon système. Je viens de revenir à la version 1.0.2 des concombres et des rails de concombre. Utiliser les dernières versions faisait cela ...
la source
Même si vous installez la dernière version d'un gem avec un format de date valide, assurez-vous de le faire par la
gem cleanup GEMNAME
suite, car vous vousgem
plaindrez toujours des spécifications des anciennes bibliothèques.la source
La réinstallation de vos gemmes peut être la solution dans bon nombre de ces états de machine légèrement différents.
Dans mon cas:
Dans mon cas, les autres solutions plus créatives ont échoué.
Mon problème se
Invalid gemspec
posait en essayant d'utiliser des cocoapodes. J'ai couru àgem install cocoapods
nouveau et tout était rose.la source