Ошибка установки Rails 3: "неверное значение для @cert_chain"
Я пытаюсь установить Rails 3 на новую машину OS X Snow Leopard (с установленными средствами разработки), и когда я sudo gem install rails
Я получаю следующую ошибку:
ERROR: While executing gem ... (Gem::FormatException)
builder-2.1.2 has an invalid value for @cert_chain
И обновление не удается. Кто-нибудь видел это раньше? я grep
редактировал каталог builder-2.1.2 для 'cert_chain', но не смог найти никаких подсказок.
Версия Ruby - 1.8.7
OS X 10.6.6
Спасибо!
14 ответов
Это проблема с Rubygems версии 1.7.1. Обновление до 1.7.2 или выше или понижение до 1.6.2 исправляет это.
Для обновления (предпочтительно):
gem update --system
Чтобы понизить:
gem update --system 1.6.2
Проверьте свою версию драгоценного камня по
gem -v
Если это 1.7.1, тогда понизьте rubygems, выполнив следующую команду
gem update --system 1.6.2
Кажется, что новая версия rubygem (1.7.1) не работает с некоторыми версиями Ruby. Так понизьте это.
Я смог это исправить, обновив ruby до 1.9.2p180. (на окнах)
Работал как шарм на SL 10.6.7. Исправлена проблема с установкой Vagrant.
обновление gem -system 1.6.2
Получена похожая ошибка при запуске "комплектной установки" при создании нового приложения RoR с использованием Ruby 1.9.2 и Rails 3.0.3 и Rubygems 1.8.10.
Исправлено: понижение Rubygems с 1.8.10 до 1.8.9.
Была такая же проблема на Ubuntu 10.04 при обновлении до Rails 3:
Установка abstract (1.0.0) /usr/local/lib/ruby/site_ruby/1.8/rubygems/specification.rb:371:in `initialize_copy': abstract-1.0.0 имеет недопустимое значение для @cert_chain (Gem::FormatException)
Обновление sudo gem - система 1.6.2 решила проблему
У меня была такая же ошибка при попытке установить рельсы, я согласен с evan.leonard Я думаю, что это ошибка с v1.7.1. Я понизил rubygems до 1.6.2, и это сработало, вот как понизить...
обновление gem -system 1.6.2
То же самое я вижу и в чистой установке rails в Amazon Linux (v 2010.11) с Ruby 1.8.7 и RubyGems 1.7.1.
# gem install rails --backtrace
ERROR: While executing gem ... (Gem::FormatException)
builder-2.1.2 has an invalid value for @cert_chain
/usr/lib/ruby/site_ruby/1.8/rubygems/specification.rb:371:in `initialize_copy'
/usr/lib/ruby/site_ruby/1.8/rubygems/specification.rb:360:in `each'
/usr/lib/ruby/site_ruby/1.8/rubygems/specification.rb:360:in `initialize_copy'
/usr/lib/ruby/site_ruby/1.8/rubygems/specification.rb:638:in `dup'
/usr/lib/ruby/site_ruby/1.8/rubygems/specification.rb:638:in `for_cache'
/usr/lib/ruby/site_ruby/1.8/rubygems/specification.rb:746:in `to_ruby_for_cache'
/usr/lib/ruby/site_ruby/1.8/rubygems/installer.rb:234:in `write_spec'
/usr/lib/ruby/site_ruby/1.8/rubygems/installer.rb:175:in `install'
/usr/lib/ruby/site_ruby/1.8/rubygems/dependency_installer.rb:299:in `install'
/usr/lib/ruby/site_ruby/1.8/rubygems/dependency_installer.rb:270:in `each'
/usr/lib/ruby/site_ruby/1.8/rubygems/dependency_installer.rb:270:in `install'
/usr/lib/ruby/site_ruby/1.8/rubygems/commands/install_command.rb:120:in `execute'
/usr/lib/ruby/site_ruby/1.8/rubygems/commands/install_command.rb:115:in `each'
/usr/lib/ruby/site_ruby/1.8/rubygems/commands/install_command.rb:115:in `execute'
/usr/lib/ruby/site_ruby/1.8/rubygems/command.rb:278:in `invoke'
/usr/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:133:in `process_args'
/usr/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:103:in `run'
/usr/lib/ruby/site_ruby/1.8/rubygems/gem_runner.rb:64:in `run'
/usr/bin/gem:21
Имея ту же проблему на облачных серверах Rackspace, переход к версии 1.7.1 привел к сообщению об ошибке - возврат к версии 1.6.2 исчез.
Была такая же проблема с гемом версии 1.7.2. Но обновление на 1.8.9 это исправило.
В качестве обходного пути я смог установить рельсы, закомментировав строку 371 в rubygems/ification.rb ("поднять e"). (Это с rubygems 1.7.1.)
Я опустился до rubygems 1.6.2, и это тоже сработало для меня. 1.7.1, похоже, содержит ошибку или что-то.
Ну, я только что загрузил его с: http://rubygems.org/pages/download
а затем запустил setup.rb в извлеченном каталоге и перезапустил 'gem install rails'. (оба с sudo, если используется среда, которая нуждается в этом)