Estou recebendo o seguinte erro quando tento usar gems no windows, e também me referi a esta postagem stackoverflow e atualizei rubygems and rails. Mas nada poderia resolver o problema.
A seguir está o erro completo,
D: \> env gem Gemspec inválido em [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /tilt-1.3.3.gemspec]: formato de data inválido na especificação: "2011-08-25 00:00:00 .000000000Z " Gemspec inválido em [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /execjs-1.2.4.gemspec]: formato de data inválido na especificação: "2011-08-03 00:00: 00.000000000Z " Gemspec inválido em [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /temple-0.3.3.gemspec]: formato de data inválido na especificação: "2011-08-26 00:00: 00.000000000Z " Gemspec inválido em [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-0.6.3.gemspec]: formato de data inválido na especificação: "2011-09-01 00: 00: 0 0,000000000Z " Gemspec inválido em [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-livereload-0.3.1.gemspec]: formato de data inválido na especificação: "2011-09 -01 00: 00: 00.000000000Z " Gemspec inválido em [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /rack-cache-1.0.3.gemspec]: formato de data inválido na especificação: "2011-08-27 00 : 00: 00.000000000Z " Gemspec inválido em [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /tilt-1.3.3.gemspec]: formato de data inválido na especificação: "2011-08-25 00:00:00 .000000000Z " Gemspec inválido em [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /execjs-1.2.4.gemspec]: formato de data inválido na especificação: "2011-08-03 00:00: 00.000000000Z " Gemspec inválido em [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /temple-0.3.3.gemspec]: formato de data inválido na especificação: "2011-08-26 00:00: 00.000000000Z " Gemspec inválido em [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-0.6.3.gemspec]: formato de data inválido na especificação: "2011-09-01 00: 00: 0 0,000000000Z " Gemspec inválido em [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-livereload-0.3.1.gemspec]: formato de data inválido na especificação: "2011-09 -01 00: 00: 00.000000000Z " Gemspec inválido em [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /rack-cache-1.0.3.gemspec]: formato de data inválido na especificação: "2011-08-27 00 : 00: 00.000000000Z " Ambiente RubyGems: - VERSÃO RUBYGEMS: 1.7.2 - VERSÃO RUBY: 1.8.7 (patchlevel 352 de 30/06/2011) [i386-mingw32] - DIRETÓRIO DE INSTALAÇÃO: D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8 - RUBY EXECUTÁVEL: D: /RailsInstaller/Ruby1.8.7/bin/ruby.exe - DIRETÓRIO EXECUTÁVEL: D: /RailsInstaller/Ruby1.8.7/bin - PLATAFORMAS RUBYGEMS: - rubi - x86-mingw32 - CAMINHOS GEM: - D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8 - C: / Documentos e configurações / jeygokul / .gem / ruby / 1.8 - CONFIGURAÇÃO DO GEM: -: update_sources => true -: verboso => verdadeiro -: benchmark => false -: backtrace => false -: bulk_threshold => 1000 - FONTES REMOTAS: - http://rubygems.org/
ruby-on-rails
rubygems
Abhishek
fonte
fonte
A solução final é esta:
Pesquise os arquivos "spec" no diretório Ruby: * C: \ Ruby187 \ lib \ ruby \ gems \ 1.8 \ especificações *
Se um arquivo gemspec contém algo assim: s.date =% q {2011-10-13 00: 00: 00.000000000Z } Em seguida, exclua a parte 00: 00: 00.000000000Z : s.date =% q {2011-10- 13}
Depois de salvar os arquivos gemspec, o problema está resolvido.
fonte
sed -i 's/ 00:00:00.000000000Z//g' path_to_gemspecs
Nenhuma dessas soluções funcionou para mim. Para consertar, removi todo o conteúdo do diretório mencionado (algum / caminho / para / especificação /) e instalei as joias de que preciso (na verdade, Bundler e instalação do pacote).
fonte
Além de executar
gem update --system
eu useigem install <gem with bad gemspec>
em cada um dos itens gem env relatado como ruim. Isso eliminou os erros na minha máquina.fonte
Como Michael disse no comentário:
fonte
Tive o mesmo problema ao tentar instalar um GEM no Ubuntu 11.10.
As opções acima não funcionaram para mim.
gem env
relatou o seguinte:Portanto, presumi que esse problema fosse devido ao fato de eu precisar de uma versão mais recente do RubyGems instalada.
Emitindo
gem update --system
o seguinte aviso:No entanto, finalmente consegui atualizar
rubygems
para 1.8.15 emitindo:Tudo deu certo depois disso, boa sorte! :)
fonte
sudo apt-get purge rubygems
seguirsudo apt-get install rubygems
e depois instalar todas as joias novamente. Estranho, mas pelo menos funcionou: P (oGemspec inválido em [/var/lib/gems/1.8/specifications/chronic-0.6.4.gemspec]: formato de data inválido na especificação: "2011-09-09 00: 00: 00.000000000Z"
A solução simples para esse tipo de problema é navegar até o arquivo .. por exemplo.
Etapa 1. cd /var/lib/gems/1.8/specifications
etapa 2. abra o arquivo (ronic-0.6.4.gemspec) no editor de sua escolha ... (geditronic-0.6.4.gemspec)
etapa 3. altere s.date =% q {2011-10-13 00: 00: 00.000000000Z} para s.date =% q {2011-10-13}
Felicidades :)
fonte
Acabei de ter o mesmo problema no meu Ubuntu depois de atualizar para 10.10. Nenhuma das opções acima funcionou para mim. Tive que instalar o script update_rubygems de http://rubygems.org/pages/download e executá-lo uma vez. Posteriormente, tudo funcionou.
fonte
Corrigi este problema de 'especificação de formato de data inválida' alterando a linha correspondente em D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications/tilt-1.3.3.gemspec colocando s.date = Time.now em vez de s.date = "2011-08-25 00: 00: 00.000000000Z" O mesmo pode ser usado para os outros arquivos também.
fonte
Tenho muitas joias para consertar uma por uma, e tento as duas
update_rubygems
egem pristine --all
ainda assim não tenho sorte.Então, eu uso
rvm clear gemset
para remover todas as gemas com gemspec errado. Executebundle install
para reinstalar todas as gemas, e Viola!fonte
Unrecognized command line argument: 'clear' ( see: 'rvm usage' )
rvm gemset empty your_gemset_name_or_global
fonte
Resolvido executando
gem update --system
entãogem update
.fonte
As várias soluções observadas nessas respostas não funcionaram para mim. O que funcionou foi reinstalar as versões específicas das gemas ofensivas. No seu caso, isso seria parecido com:
Eu acho que vou
gem pristine xxx yyy zzz
ougem pristine --all
não sempre (sempre?) Para os repositórios de gem, enquantogem install xxx -v v.r.m
isso.De qualquer forma, reinstalar as versões ofensivas das joias funcionou para mim, embora fosse entediante ...
fonte
rvm gemset clear
e entãobundle install
funcionou para mim!fonte
"gem install rubygems-update", "update_rubygems" e "gem pristine --all" é a combinação que resolveu o problema para mim depois que nenhum dos itens listados anteriormente funcionou.
fonte
No meu caso, as versões gem referenciadas nem mesmo foram instaladas. Eu tinha essas joias, mas não as versões cujos gemspecs estavam causando o erro. Portanto, acabei de excluir cada um dos arquivos /path/to/specifications/offending-XYZZ.gemspec.
fonte
Esta não é realmente uma resposta, mas se alguém quiser cavar mais, encontrei esta especificação de gemspec aqui: http://rubygems.rubyforge.org/rubygems-update/Gem/Specification.html (role para baixo até date = date () e clique em para mostrar a fonte):
Então eu acho que este é o código que analisa esse gemspec, e parece que o formato de data que está nos arquivos que mostram erros não está em conformidade com isso.
O que fiz foi apenas corrigir manualmente as gemspecs ofensivas, conforme sugerido acima (alterando as datas para "aaaa-mm-dd", funciona para mim.
Todas as especificações de rubygem que tive que tiveram esse problema também têm uma linha
s.rubygems_version =% q {1.3.5}
Acho que são apenas joias antigas? E o que há com aqueles% q {...} afinal?
fonte
Se você teve esse erro no Ubuntu 11.04, minha solução foram as seguintes linhas de comando:
Depois de fazer isso, você não obterá o erro de data.
fonte