Когда я пытаюсь использовать драгоценные камни в Windows, я получаю следующую ошибку, и я также ссылался на этот пост stackoverflow и обновленные rubygems и rails. Но ничто не могло решить проблему.
Ниже приводится полная ошибка,
D: \> gem env Недопустимый gemspec в [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /tilt-1.3.3.gemspec]: недопустимый формат даты в спецификации: "2011-08-25 00:00:00 .000000000Z " Недопустимый gemspec в [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /execjs-1.2.4.gemspec]: недопустимый формат даты в спецификации: «2011-08-03 00:00: 00.000000000Z " Недопустимый gemspec в [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /temple-0.3.3.gemspec]: недопустимый формат даты в спецификации: «2011-08-26 00:00: 00.000000000Z " Недопустимый gemspec в [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-0.6.3.gemspec]: недопустимый формат даты в спецификации: «2011-09-01 00: 00: 0 0,000000000Z " Недопустимый gemspec в [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-livereload-0.3.1.gemspec]: недопустимый формат даты в спецификации: «2011-09. -01 00: 00: 00.000000000Z " Недопустимый gemspec в [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /rack-cache-1.0.3.gemspec]: недопустимый формат даты в спецификации: «2011-08-27 00 : 00: 00.000000000Z " Недопустимый gemspec в [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /tilt-1.3.3.gemspec]: недопустимый формат даты в спецификации: "2011-08-25 00:00:00 .000000000Z " Недопустимый gemspec в [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /execjs-1.2.4.gemspec]: недопустимый формат даты в спецификации: «2011-08-03 00:00: 00.000000000Z " Недопустимый gemspec в [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /temple-0.3.3.gemspec]: недопустимый формат даты в спецификации: «2011-08-26 00:00: 00.000000000Z " Недопустимый gemspec в [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-0.6.3.gemspec]: недопустимый формат даты в спецификации: «2011-09-01 00: 00: 0 0,000000000Z " Недопустимый gemspec в [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-livereload-0.3.1.gemspec]: недопустимый формат даты в спецификации: «2011-09. -01 00: 00: 00.000000000Z " Недопустимый gemspec в [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /rack-cache-1.0.3.gemspec]: недопустимый формат даты в спецификации: «2011-08-27 00 : 00: 00.000000000Z " Среда RubyGems: - ВЕРСИЯ RUBYGEMS: 1.7.2 - ВЕРСИЯ РУБИНА: 1.8.7 (30.06.2011, patchlevel 352) [i386-mingw32] - КАТАЛОГ УСТАНОВКИ: D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8 - ИСПОЛНИТЕЛЬНЫЙ РУБИН: D: /RailsInstaller/Ruby1.8.7/bin/ruby.exe - ИСПОЛНИТЕЛЬНЫЙ КАТАЛОГ: D: /RailsInstaller/Ruby1.8.7/bin - ПЛАТФОРМЫ RUBYGEMS: - Рубин - x86-mingw32 - ДРАГОЦЕННЫЕ ПУТИ: - D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8 - C: / Документы и настройки / jeygokul / .gem / ruby / 1.8 - КОНФИГУРАЦИЯ GEM: -: update_sources => true -: verbose => true -: benchmark => false -: backtrace => false -: bulk_threshold => 1000 - УДАЛЕННЫЕ ИСТОЧНИКИ: - http://rubygems.org/
ruby-on-rails
rubygems
Абхишек
источник
источник
Окончательное решение таково:
Найдите файлы "spec" в каталоге Ruby: * C: \ Ruby187 \ lib \ ruby \ gems \ 1.8 \ specs *
Если файл gemspec содержит что-то вроде этого: s.date =% q {2011-10-13 00: 00: 00.000000000Z } Затем удалите часть 00: 00: 00.000000000Z : s.date =% q {2011-10- 13}
После сохранения этих файлов gemspec проблема решена.
источник
sed -i 's/ 00:00:00.000000000Z//g' path_to_gemspecs
Ни одно из этих решений не помогло мне. Чтобы исправить это, я удалил все содержимое указанного каталога (some / path / to / спецификация /), затем установил нужные мне драгоценные камни (на самом деле Bundler затем установил пакет).
источник
В дополнение к запуску
gem update --system
я использовалgem install <gem with bad gemspec>
для каждого элемента gem env, отмеченного как плохой. Это устранило ошибки на моей машине.источник
Как сказал Майкл в комментарии:
источник
Была такая же проблема при попытке установить GEM на Ubuntu 11.10.
Вышеуказанные варианты мне не подошли.
gem env
сообщил следующее:Итак, я предположил, что эта проблема возникла из-за того, что мне требовалось установить более новую версию RubyGems.
Выдача
gem update --system
yeilded следующее предупреждение:Однако я наконец смог обновить
rubygems
до 1.8.15, выполнив:После этого все заработало, удачи! :)
источник
sudo apt-get purge rubygems
затемsudo apt-get install rubygems
снова установить все драгоценные камни. Неудобно, но, по крайней мере, это сработало: P (вышеупомянутое не сработало для меня)Недействительный 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. откройте файл (хронический-0.6.4.gemspec) в редакторе по вашему выбору ... (gedit chronic-0.6.4.gemspec)
шаг 3. измените s.date =% q {2011-10-13 00: 00: 00.000000000Z} на s.date =% q {2011-10-13}
Ура :)
источник
У меня была такая же проблема на моем ubuntu после обновления до 10.10. У меня ничего из вышеперечисленного не сработало. Мне пришлось установить скрипт update_rubygems с http://rubygems.org/pages/download и запустить его один раз. Послесловие все сработало.
источник
Я исправил эту проблему «недопустимая спецификация форматирования даты», изменив соответствующую строку в D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications/tilt-1.3.3.gemspec, поместив s.date = Time.now вместо s.date = "2011-08-25 00: 00: 00.000000000Z" То же самое можно использовать и с другими файлами.
источник
У меня слишком много драгоценных камней, чтобы исправить один за другим, я пробую оба,
update_rubygems
ноgem pristine --all
все равно безуспешно.Поэтому я использую
rvm clear gemset
для удаления всех драгоценных камней с неправильной спецификацией. Выполнитеbundle install
переустановку всех драгоценных камней, и Виола!источник
Unrecognized command line argument: 'clear' ( see: 'rvm usage' )
rvm gemset empty your_gemset_name_or_global
источник
Решено бегом
gem update --system
тогдаgem update
.источник
Различные решения, указанные в этих ответах, не сработали для меня. Что действительно помогло, так это повторная установка конкретных версий проблемного камня. В вашем случае это выглядело бы так:
Я думаю, что это
gem pristine xxx yyy zzz
илиgem pristine --all
может не выходить всегда (когда-либо?) В репозитории драгоценных камней, тогда как этоgem install xxx -v v.r.m
происходит.В любом случае, повторная установка проблемных версий драгоценных камней у меня сработала, хотя это было утомительно ...
источник
rvm gemset clear
а потомbundle install
работал у меня!источник
«gem install rubygems-update», «update_rubygems», затем «gem pristine --all» - это комбинация, которая решила для меня проблему после того, как ни одна из перечисленных ранее не сработала.
источник
В моем случае упомянутые версии гемов даже не были установлены. У меня были эти драгоценные камни, но не версии, характеристики которых вызывали ошибку. Итак, я просто удалил каждый из файлов /path/to/specifications/offending-XYZZ.gemspec.
источник
На самом деле это не ответ, но если кому-то захочется копать больше, я нашел эту спецификацию gemspec здесь: http://rubygems.rubyforge.org/rubygems-update/Gem/Specification.html (прокрутите вниз до date = date () и нажмите показать источник):
Я предполагаю, что это код, который анализирует этот gemspec, и похоже, что формат даты в файлах, которые показывают ошибки, не соответствует этому.
Я просто вручную исправил эти оскорбительные характеристики драгоценных камней, как было предложено выше (изменив даты на «гггг-мм-дд», у меня это сработает.
Во всех спецификациях rubygem, которые у меня были с этой проблемой, также есть строка
s.rubygems_version =% q {1.3.5}
Полагаю, это просто старые драгоценности? И что вообще с этими% q {...}?
источник
Если у вас была эта ошибка в Ubuntu 11.04, моим решением были следующие командные строки:
После этого вы не получите ошибку даты.
источник