Quando incluo uma gema que fiz, graças ao Bundler (versão 1.0.12), em um Gemfile e tento empacotar ou rake assim:
$ rake
Recebi esta mensagem de erro:
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"
Estou no último Mac OS X (10.6.4), com:
$ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.4.0]
e:
$ 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
Eu realmente não vejo como resolver esse problema. Obrigado por todas as idéias.
rubygems
bundler
ruby-1.9
ruby-1.9.2
Zag zag ..
fonte
fonte
Respostas:
Aqui está a maneira de corrigir o erro "formato de data inválido na especificação":
1.) Vá para a pasta de especificações localizada em:
/usr/local/lib/ruby/gems/1.8/specifications/
2.) Encontre a especificação que está causando o problema.
3.) Mudar
s.date = %q{2011-05-21 00:00:00.000000000Z}
paras.date = %q{2011-05-21}
Isso é uma vitória para mim! Boa sorte
fonte
Aqui está o comando para corrigir isso para todas as suas joias:
Ele converte
s.date = %q{2011-05-21 00:00:00.000000000Z}
paras.date = %q{2011-05-21}
e deve resolver o seu problema.fonte
git init . && git commit -am "backup
Observe o comentário de Damian Nowak. Esses comandos possivelmente bagunçam seus rubis!
No Ubuntu 11.10, o seguinte resolveu este erro:
O seguinte pode funcionar em alguns sistemas, mas não no Debian:
fonte
Você pode atualizar seu
gem
. Para corrigir isso, você pode editar ogemspec
arquivo diretamente - depara
Ou atualize seus trilhos também
Isso vai resolver o problema.
fonte
specifications
diretório este é ospecifications
caminho do meu diretório -/home/sayuj/.rvm/gems/ruby-1.9.2-p180/specifications/
Não especifique a hora ... apenas a data.
2011-04-21
deve funcionar bem.fonte
git ls-files
.split ("\ n ") s.test_files =git ls-files -- {test,spec,features}/*
.split (" \ n ") s.require_paths = [" lib "] endTive o mesmo problema. Parece um bug em rubygems. Aqui está o commit que corrigiu: https://github.com/rubygems/rubygems/commit/21cccd55b823848c5e941093a615b0fdd6cd8bc7
Você precisa atualizar rubygems e bundler para as versões mais recentes. Se você ainda tiver problemas depois disso, pode ser necessário remover e reinstalar todas as gemas que estão causando problemas.
fonte
Este é mais um comentário para a resposta de Ben Hall, mas eu não tenho esse privilégio ainda parece
As atualizações de gemas não parecem funcionar, estou pensando que nem consigo carregar a gema por causa do formato de data ruim. alterar manualmente as datas era muito frustrante para ir uma a uma, então um grep:
E para sed:
E por sua própria conta e risco !! Ainda sou um novato em sed, mas funcionou para mim;)
fonte
No meu servidor slicehost, a pasta de especificações estava localizada em um local diferente. Aqui está o caminho:
/usr/lib/ruby/gems/1.8/specifications
O erro fornecido deve fornecer o caminho para a pasta de especificações.
fonte
A abordagem shotgun: desinstale todas as gemas e execute novamente o bundler.
gem list --no-version | xargs gem uninstall -aIx
rm -i `rvm gemdir`/specifications/*.gemspec
gem update --system
gem install bundler
bundle install
fonte
.rvmrc
arquivo, tome cuidado ao executar a linha 2 porque o gemdir pode produzir uma saída extra.(Até que a correção do bug chegue a uma versão estável do Rubygems) Eu resolvi isso reinstalando a mesma versão de quaisquer gemas geradoras de aviso usando a opção --version do comando gem.
fonte
Como disse Ben Hall, você deve consertar o arquivo gemspec que pode mudar de sistema para sistema. Para saber qual arquivo é, veja qual arquivo é informado no relatório de erros, por exemplo:
Neste exemplo, você deve editar o arquivo "/var/lib/gems/1.8/specifications/svn2git-2.1.2.gemspec" e alterar "2011-12-28 00: 00: 00.000000000Z" para "2011-12-28" na opção s.date.
fonte
Ainda tinha esse problema agora. Atualizar Rubygems resolveu bem:
fonte
Este é o meu ambiente:
Finalmente consegui encontrar uma causa / maneira de evitar esses erros no meu sistema. Acabei de voltar para o pepino e pepino-trilhos versão 1.0.2. Usar as versões mais recentes fazia isso ...
fonte
Mesmo se você instalar a versão mais recente de uma gem com um formato de data válido, certifique-se de fazer isso
gem cleanup GEMNAME
depois, poisgem
ainda reclamará das especificações das bibliotecas mais antigas.fonte
Reinstalar suas joias pode ser a solução em muitos desses estados de máquina ligeiramente diferentes.
No meu caso:
No meu caso, as outras soluções mais criativas falharam.
Meu problema estava começando
Invalid gemspec
ao tentar usar cocoapods. Corri degem install cocoapods
novo e tudo estava rosado.fonte