RoR - NoMethodError: закрытый метод `open 'вызывается для Gem :: Package: Class - PullRequest
7 голосов
/ 09 февраля 2012

Эй, кто-нибудь знает, что означает это сообщение об ошибке? Я установил ruby ​​из источника, затем приступил к установке rubygems, а затем установил рельсы через gem install rails

После создания нового проекта я сделал bundle install и получил эту ошибку:

mark @ mark-laptop: ~ / guide / first_app $ установка пакета sudo Сборка исходный индекс для https://rubygems.org/

NoMethodError: закрытый метод open' called for Gem::Package:Class An error occured while installing rake (0.9.2.2), and Bundler cannot continue. Make sure that gem install rake -v '0.9.2.2'` успешно до комплектации.

Я выполнил эту команду (gem install rake -v '0.9.2.2'), и она работала нормально .. Я довольно запутался

Ответы [ 5 ]

8 голосов
/ 16 марта 2013

Попробуйте gem install bundler установить / обновить упаковщик после установки / обновления rubygems.

Это сработало для меня, когда у меня возникла ваша проблема.

3 голосов
/ 04 мая 2012

Похоже, что это ошибка в основной ветке rubygems от GitHub.Если вместо этого вы берете архив 1.8.24 с http://rubygems.org/pages/download, все работает нормально.

3 голосов
/ 15 марта 2013

У меня есть rubygems 2.0.3, и я получаю ту же ошибку.Я удалил файл gemfile.lock в проекте.Единственное изменение, которое я получил по ошибке - От Убедитесь, что gem install rake -v '0.9.2.2' успешен перед объединением.Изменено, чтобы убедиться, что gem install rake -v '10.0.3' успешно перед упаковкой.Новые грабли для установки гемов также работали для меня.

2 голосов
/ 09 февраля 2012

Возможно, вы используете разные версии ruby ​​и гемы при запуске команд с и без sudo.Вы можете попробовать запустить

sudo ruby -v

и

ruby -v

. Кроме того, вы можете проверить различные пути самоцветов

gem env

и

sudo gem env
0 голосов
/ 05 января 2014
  1. Обновление gem - system
  2. Установочный пакет gem
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...