gem и / или Ruby on Rails внезапно сломались, кто-нибудь знает, что случилось? - PullRequest
4 голосов
/ 09 октября 2011

У меня было приложение Ruby on Rails, которое раньше работало. Я не использовал его в течение месяца или около того, но затем попытался запустить его сегодня с rails s и получил следующую ошибку - фактически, я получаю эту ошибку, когда пытаюсь rails -h или rails -v или даже gem -h или sudo gem update --system или что-либо, имеющее отношение к gem.

NOTE: Gem::Specification#default_executable= is deprecated with no replacement. It will be removed on or after 2011-10-01.
Gem::Specification#default_executable= called from /Library/Ruby/Gems/1.8/specifications/rubygems-update-1.8.2.gemspec:11.
Invalid gemspec in [/Library/Ruby/Gems/1.8/specifications/tilt-1.3.3.gemspec]: invalid date format in specification: "2011-08-25 00:00:00.000000000Z"
NOTE: Gem::Specification#default_executable= is deprecated with no replacement. It will be removed on or after 2011-10-01.
Gem::Specification#default_executable= called from /Users/me/.gem/ruby/1.8/specifications/json-1.5.1.gemspec:10.
/Library/Ruby/Site/1.8/rubygems/specification.rb:277:in `_resort!': undefined method `name' for nil:NilClass (NoMethodError)
    from /Library/Ruby/Site/1.8/rubygems/specification.rb:276:in `sort!'
    from /Library/Ruby/Site/1.8/rubygems/specification.rb:276:in `_resort!'
    from /Library/Ruby/Site/1.8/rubygems/specification.rb:270:in `_all'
    from /Library/Ruby/Site/1.8/rubygems/specification.rb:402:in `each'
    from /Library/Ruby/Site/1.8/rubygems/dependency.rb:216:in `find_all'
    from /Library/Ruby/Site/1.8/rubygems/dependency.rb:216:in `matching_specs'
    from /Library/Ruby/Site/1.8/rubygems/dependency.rb:238:in `to_specs'
    from /Library/Ruby/Site/1.8/rubygems/dependency.rb:256:in `to_spec'
    from /Library/Ruby/Site/1.8/rubygems.rb:1182:in `gem'
    from /usr/bin/rails:18

Кто-нибудь знает, что происходит и как это исправить? Как я могу удалить все это и переустановить это (не удаляя мою ОС, человек, который действительно сосет)

Ответы [ 4 ]

12 голосов
/ 09 октября 2011

Я бы попытался очистить все ваши драгоценные камни, запустив

rm -rf ~/.gems
sudo rm -rf /Library/Ruby/Gems/*

После этого gem list не должно перечислять драгоценные камни. Затем запустите

sudo gem update --system

, чтобы обеспечить последнюю версию Ruby Gems. Затем вам придется переустановить все ваши драгоценные камни. (Возможно, gem install bundler, а затем bundle install).

Кстати, вы должны проверить rbenv или rvm для управления версиями Ruby и хранения всех ваших гемов разработки отдельно от системы Ruby.

0 голосов
/ 01 июня 2013

Я получил ту же ошибку с jquery-rails 2.0.3:

Invalid gemspec in [C:/Ruby187/lib/ruby/gems/1.8/specifications/jquery-rails-2.0.3.gemspec]: invalid date format in specification: "2012-08-16 00:00:00.000000000Z"

Чтобы исправить это, я отредактировал файл C: /Ruby187/lib/ruby/gems/1.8/specifications/jquery-rails-2.0.3.gemspec и изменил строку, содержащую:

s.date = %q{2012-08-16 00:00:00.000000000Z}

до

s.date = %q{2012-08-16}

тогда снова работает.

0 голосов
/ 15 мая 2012

У меня была такая же проблема с XCode 4.3.Попробуйте это:

Открыть XCode> Настройки> Загрузка> Установить инструменты командной строки

Наконец запустить в терминале:

rvm install 1.9.3 --with-gcc=clang
0 голосов
/ 09 октября 2011

gem update --system должен исправить вас.Это установит последнюю версию RubyGems.

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