Recibo el siguiente error cuando intento usar gemas en Windows, y también me referí a esta publicación de stackoverflow y actualicé rubygems y rieles. Pero nada pudo solucionar el problema.
El siguiente es el error completo,
D: \> gema env Gemspec no válida en [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /tilt-1.3.3.gemspec]: formato de fecha no válido en la especificación: "2011-08-25 00:00:00 .000000000Z " Gemspec no válida en [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /execjs-1.2.4.gemspec]: formato de fecha no válido en la especificación: "2011-08-03 00:00: 00.000000000Z " Gemspec no válida en [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /temple-0.3.3.gemspec]: formato de fecha no válido en la especificación: "2011-08-26 00:00: 00.000000000Z " Gemspec no válida en [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-0.6.3.gemspec]: formato de fecha no válido en la especificación: "2011-09-01 00: 00: 0 0,000000000Z " Gemspec no válida en [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-livereload-0.3.1.gemspec]: formato de fecha no válido en la especificación: "2011-09 -01 00: 00: 00.000000000Z " Gemspec no válida en [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /rack-cache-1.0.3.gemspec]: formato de fecha no válido en la especificación: "2011-08-27 00 : 00: 00.000000000Z " Gemspec no válida en [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /tilt-1.3.3.gemspec]: formato de fecha no válido en la especificación: "2011-08-25 00:00:00 .000000000Z " Gemspec no válida en [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /execjs-1.2.4.gemspec]: formato de fecha no válido en la especificación: "2011-08-03 00:00: 00.000000000Z " Gemspec no válida en [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /temple-0.3.3.gemspec]: formato de fecha no válido en la especificación: "2011-08-26 00:00: 00.000000000Z " Gemspec no válida en [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-0.6.3.gemspec]: formato de fecha no válido en la especificación: "2011-09-01 00: 00: 0 0,000000000Z " Gemspec no válida en [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-livereload-0.3.1.gemspec]: formato de fecha no válido en la especificación: "2011-09 -01 00: 00: 00.000000000Z " Gemspec no válida en [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /rack-cache-1.0.3.gemspec]: formato de fecha no válido en la especificación: "2011-08-27 00 : 00: 00.000000000Z " Entorno RubyGems: - VERSIÓN RUBYGEMS: 1.7.2 - VERSIÓN RUBY: 1.8.7 (nivel de parche 352 del 30-06-2011) [i386-mingw32] - DIRECTORIO DE INSTALACIÓN: D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8 - RUBY EJECUTABLE: D: /RailsInstaller/Ruby1.8.7/bin/ruby.exe - DIRECTORIO EJECUTABLE: D: /RailsInstaller/Ruby1.8.7/bin - PLATAFORMAS RUBYGEMS: - rubí - x86-mingw32 - CAMINOS DE GEM: - D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8 - C: / Documentos y configuración / jeygokul / .gem / ruby / 1.8 - CONFIGURACIÓN DE GEM: -: update_sources => verdadero -: detallado => verdadero -: benchmark => falso -: backtrace => falso -: bulk_threshold => 1000 - FUENTES REMOTAS: - http://rubygems.org/
ruby-on-rails
rubygems
Abhishek
fuente
fuente
La solución definitiva es esta:
Busque archivos "spec" en su directorio Ruby: * C: \ Ruby187 \ lib \ ruby \ gems \ 1.8 \ especificaciones *
Si un archivo gemspec contiene algo como esto: s.date =% q {2011-10-13 00: 00: 00.000000000Z } Luego elimine la parte 00: 00: 00.000000000Z : s.date =% q {2011-10- 13}
Después de guardar esos archivos gemspec, el problema está resuelto.
fuente
sed -i 's/ 00:00:00.000000000Z//g' path_to_gemspecs
Ninguna de estas soluciones funcionó para mí. Para solucionarlo, eliminé todo el contenido del directorio mencionado (algunos / ruta / a / especificación /) y luego instalé las gemas que necesito (en realidad, Bundler y luego paquete de instalación).
fuente
Además de ejecutar
gem update --system
, utilicégem install <gem with bad gemspec>
en cada uno de los elementos que gem env reportó como malos. Esto limpió los errores en mi máquina.fuente
Como dijo Michael en el comentario:
fuente
Tuve el mismo problema al intentar instalar un GEM en Ubuntu 11.10.
Las opciones anteriores no me funcionaron.
gem env
informó lo siguiente:Así que supuse que este problema se debía al hecho de que necesitaba una versión más nueva de RubyGems instalada.
Emitiendo
gem update --system
la siguiente advertencia:Sin embargo, finalmente pude actualizar
rubygems
a 1.8.15 emitiendo:Todo funcionó después de eso, ¡buena suerte! :)
fuente
sudo apt-get purge rubygems
seguidosudo apt-get install rubygems
y luego instalar todas las gemas nuevamente. Incómodo, pero al menos funcionó: P (lo anterior no funcionó para mí)Gemspec no válido en [/var/lib/gems/1.8/specifications/chronic-0.6.4.gemspec]: formato de fecha no válido en la especificación: "2011-09-09 00: 00: 00.000000000Z"
La solución simple para este tipo de problema es navegar hasta el archivo ... por ejemplo.
Paso 1. cd /var/lib/gems/1.8/specifications
paso 2. abra el archivo (Chronic-0.6.4.gemspec) en el editor de su elección ... (gedit Chronic-0.6.4.gemspec)
Paso 3. cambie s.date =% q {2011-10-13 00: 00: 00.000000000Z} a s.date =% q {2011-10-13}
Salud :)
fuente
Acabo de tener el mismo problema en mi ubuntu después de actualizar a 10.10. Ninguno de los anteriores funcionó para mí. Tuve que instalar el script update_rubygems de http://rubygems.org/pages/download y ejecutarlo una vez. Después, todo funcionó.
fuente
He solucionado este problema 'especificación de formato de fecha no válida' cambiando la línea correspondiente en D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications/tilt-1.3.3.gemspec poniendo s.date = Time.now en lugar de s.date = "2011-08-25 00: 00: 00.000000000Z" Lo mismo se puede utilizar con los otros archivos también.
fuente
Tengo demasiadas gemas para arreglar una por una, y pruebo ambas
update_rubygems
ygem pristine --all
todavía no tengo suerte.Entonces uso
rvm clear gemset
para eliminar todas las gemas con gemspec incorrecto. Ejecutabundle install
para reinstalar todas las gemas, ¡y Viola!fuente
Unrecognized command line argument: 'clear' ( see: 'rvm usage' )
rvm gemset empty your_gemset_name_or_global
fuente
Resuelto corriendo
gem update --system
entoncesgem update
.fuente
Las diversas soluciones señaladas en estas respuestas no funcionaron para mí. Lo que funcionó fue reinstalar las versiones específicas de las gemas ofensivas. En su caso, se vería así:
Creo que
gem pristine xxx yyy zzz
ogem pristine --all
no siempre (¿alguna vez?) A los repositorios de gemas, mientras quegem install xxx -v v.r.m
sí.De todos modos, volver a instalar las versiones ofensivas de las gemas funcionó para mí, aunque fue tedioso ...
fuente
rvm gemset clear
y luegobundle install
trabajó para mí!fuente
"gem install rubygems-update", "update_rubygems", luego "gem pristine --all" es la combinación que me resolvió el problema después de que ninguno de los enumerados anteriormente funcionó.
fuente
En mi caso, las versiones de gemas a las que se hace referencia ni siquiera estaban instaladas. Tenía esas gemas, pero no las versiones cuyas gemspecs estaban causando el error. Entonces, acabo de eliminar cada uno de los archivos /path/to/specifications/offending-XYZZ.gemspec.
fuente
Esto no es realmente una respuesta, pero si alguien tiene ganas de investigar más, encontré esta especificación de gemspec aquí: http://rubygems.rubyforge.org/rubygems-update/Gem/Specification.html (desplácese hacia abajo hasta la fecha = fecha () y haga clic para mostrar la fuente):
Así que supongo que este es el código que analiza ese gemspec, y parece que el formato de fecha que está en los archivos que muestran errores no se ajusta a esto.
Lo que hice fue arreglar manualmente esas gemspecs ofensivas como se sugirió anteriormente (cambiando las fechas a "aaaa-mm-dd", funciona para mí.
Todas las especificaciones de rubygem que tenía que tenían este problema también tienen una línea
s.rubygems_version =% q {1.3.5}
¿Entonces supongo que estas son solo joyas antiguas? ¿Y qué pasa con esos% q {...} de todos modos?
fuente
Si tuvo este error en Ubuntu 11.04, mi solución fueron las siguientes líneas de comando:
Después de hacer esto, no obtendrá el error de fecha.
fuente