Неверная спецификация формата даты в gemspec - PullRequest
111 голосов
/ 03 сентября 2011

Я получаю следующую ошибку, когда пытаюсь использовать гемы в окнах, и я также ссылаюсь на этот стековый поток сообщений и обновленные рубины и рельсы.Но ничто не могло решить проблему.

Ниже приведена полная ошибка,

    D:\>gem env
Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications
/tilt-1.3.3.gemspec]: invalid date format in specification: "2011-08-25 00:00:00
.000000000Z"
Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications
/execjs-1.2.4.gemspec]: invalid date format in specification: "2011-08-03 00:00:
00.000000000Z"
Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications
/temple-0.3.3.gemspec]: invalid date format in specification: "2011-08-26 00:00:
00.000000000Z"
Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications
/guard-0.6.3.gemspec]: invalid date format in specification: "2011-09-01 00:00:0
0.000000000Z"
Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications
/guard-livereload-0.3.1.gemspec]: invalid date format in specification: "2011-09
-01 00:00:00.000000000Z"
Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications
/rack-cache-1.0.3.gemspec]: invalid date format in specification: "2011-08-27 00
:00:00.000000000Z"
Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications
/tilt-1.3.3.gemspec]: invalid date format in specification: "2011-08-25 00:00:00
.000000000Z"
Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications
/execjs-1.2.4.gemspec]: invalid date format in specification: "2011-08-03 00:00:
00.000000000Z"
Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications
/temple-0.3.3.gemspec]: invalid date format in specification: "2011-08-26 00:00:
00.000000000Z"
Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications
/guard-0.6.3.gemspec]: invalid date format in specification: "2011-09-01 00:00:0
0.000000000Z"
Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications
/guard-livereload-0.3.1.gemspec]: invalid date format in specification: "2011-09
-01 00:00:00.000000000Z"
Invalid gemspec in [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications
/rack-cache-1.0.3.gemspec]: invalid date format in specification: "2011-08-27 00
:00:00.000000000Z"
RubyGems Environment:
  - RUBYGEMS VERSION: 1.7.2
  - RUBY VERSION: 1.8.7 (2011-06-30 patchlevel 352) [i386-mingw32]
  - INSTALLATION DIRECTORY: D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: D:/RailsInstaller/Ruby1.8.7/bin/ruby.exe
  - EXECUTABLE DIRECTORY: D:/RailsInstaller/Ruby1.8.7/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-mingw32
  - GEM PATHS:
     - D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8
     - C:/Documents and Settings/jeygokul/.gem/ruby/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

Ответы [ 18 ]

132 голосов
/ 07 ноября 2011

Окончательное решение заключается в следующем:

Поиск файлов «spec» в вашем каталоге Ruby: * C: \ Ruby187 \ lib \ ruby ​​\ gems \ 1.8 \ spec ** *

Если файл gemspec содержит что-то вроде этого: s.date =% q {2011-10-13 00: 00: 00.000000000Z } Затем удалите 00: 00: 00.000000000Z part: s.date =% q {2011-10-13}

После сохранения этих файлов gemspec проблема решена.

46 голосов
/ 08 октября 2011

Ни одно из этих решений не помогло мне.Чтобы исправить это, я удалил все содержимое упомянутого каталога (некоторые / path / to /ification /), затем установил нужные мне гемы (на самом деле, Bundler затем установил пакет).

45 голосов
/ 03 сентября 2011

Я исправил эту проблему путем обновления моего RubyGems до 1.8.10 с

gem update --system

Редактировать: Вы также можете попробовать (как предложено ZeissS)

gem install rubygems-update
update_rubygems
12 голосов
/ 08 сентября 2011

В дополнение к выполнению gem update --system я использовал gem install <gem with bad gemspec> для каждого элемента драгоценного камня, который был отмечен как плохой. Это устранило ошибки на моей машине.

10 голосов
/ 27 сентября 2011

Как сказал Михаил в комментарии:

gem pristine --all
6 голосов
/ 25 января 2012

Была такая же проблема при попытке установить GEM на Ubuntu 11.10.

Invalid gemspec in [/var/lib/gems/1.8/specifications/svn2git-2.1.2.gemspec]: invalid date format in specification: "2011-12-28 00:00:00.000000000Z"

Вышеуказанные параметры не работают для меня. gem env сообщил следующее:

RubyGems Environment:
  - RUBYGEMS VERSION: 1.7.2
  - RUBY VERSION: 1.8.7 (2011-06-30 patchlevel 352) [i686-linux]

Итак, я предположил, что эта проблема была связана с тем, что мне потребовалась более новая версия RubyGems.

Выдав gem update --system, получил следующее предупреждение:

ERROR:  gem update --system is disabled on Debian, because it will overwrite the content of the rubygems Debian package, and might break your Debian system in subtle ways. The Debian-supported way to update rubygems is through apt-get, using Debian official repositories.
If you really know what you are doing, you can still update rubygems by setting the REALLY_GEM_UPDATE_SYSTEM environment variable, but please remember that this is completely unsupported by Debian.

Однако я наконец смог обновить rubygems до 1.8.15, выполнив:

sudo gem install rubygems-update && update_rubygems

После этого все заработало, удачи! :)

3 голосов
/ 30 марта 2012

Недопустимый gemspec в [/var/lib/gems/1.8/specifications/chronic-0.6.4.gemspec]: неверный формат даты в спецификации: «2011-09-09 00: 00: 00.000000000Z»

Простое решение проблемы такого рода - перейти к файлу. Например,

Шаг 1. cd /var/lib/gems/1.8/specificationsшаг 2. откройте файл (ronic-0.6.4.gemspec) в редакторе вашего выбора ... (geditronic-0.6.4.gemspec)шаг 3. измените s.date =% q {2011-10-13 00: 00: 00.000000000Z} на s.date =% q {2011-10-13}

Приветствия:)

2 голосов
/ 04 ноября 2011

У меня просто была такая же проблема на моем Ubuntu после обновления до 10.10.Ничто из вышеперечисленного не помогло мне.Мне пришлось установить скрипт update_rubygems из http://rubygems.org/pages/download и запустить его один раз.Послесловие все заработало.

2 голосов
/ 09 октября 2012
cd vendor/bundle/ruby/1.9.x/specifications
sed -i 's/ 00\:00\:00.000000000Z//g' *
2 голосов
/ 26 марта 2012

У меня слишком много драгоценных камней, чтобы исправить одно за другим, и попробовать оба варианта update_rubygems и gem pristine --all все еще не повезло.

Поэтому я использую rvm clear gemset, чтобы удалить все драгоценные камни с неправильной спецификацией gemspec.Выполните bundle install, чтобы переустановить все драгоценные камни, и Виола!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...