краевые рельсы на OSX и Gem проблемы - PullRequest
0 голосов
/ 10 августа 2009

Не могли бы вы, пожалуйста, объясните мне, как исправить эту проблему. Я установил rails edge для идеальной работы с приложением 2.3.3 и при попытке запустить сервер у меня (ruby 1.8.6)

$ ruby script/server
=> Booting Mongrel
=> Rails 3.0.pre application starting on http://0.0.0.0:3000
/Library/Ruby/Site/1.8/rubygems.rb:270:in `activate': You have a nil
object when you didn't expect it! (NoMethodError)
You might have expected an instance of Array.
The error occurred while evaluating nil.map
        from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:35:in
`require'
.......................... 

после обновления до 1.8.7 у меня

$ ruby script/server
./script/../config/../vendor/rails/railties/lib/rails/
vendor_gem_source_index.rb:1:in `require': no such file to load --
rubygems (LoadError)
        from ./script/../config/../vendor/rails/railties/lib/rails/
vendor_gem_source_index.rb:1
        from ./script/../config/../vendor/rails/railties/lib/rails/
gem_dependency.rb:1:in `require'
        from ./script/../config/../vendor/rails/railties/lib/rails/
gem_dependency.rb:1
        from ./script/../config/../vendor/rails/railties/lib/initializer.rb:
6:in `require'
        from ./script/../config/../vendor/rails/railties/lib/initializer.rb:6
        from ./script/../config/boot.rb:45:in `require'
        from ./script/../config/boot.rb:45:in `load_initializer'
        from ./script/../config/boot.rb:38:in `run'
        from ./script/../config/boot.rb:11:in `boot!'
        from ./script/../config/boot.rb:110
        from script/server:2:in `require'
        from script/server:2 

есть идеи?

Ответы [ 2 ]

0 голосов
/ 14 августа 2009

Похоже, что гемы не установлены для новой версии Ruby или что ваши настройки пути нуждаются в обновлении.

С http://rubygems.org/read/chapter/19#page98:

  • Убедитесь, что запущенная установка Ruby является той же, на которой установлен RubyGems. В системе Unix команда which (или команда type) поможет понять это.

  • Убедитесь, что в текущей установленной установке Ruby действительно установлена ​​библиотека RubyGems. Вы должны найти файл «rubygems.rb» в каталоге site_ruby / 1.8 установки Ruby.

Это смешение может легко произойти после установки нового экземпляра Ruby, но старый экземпляр предшествует новому в списке PATH.

Как вы установили новую версию Ruby и правильно ли настроена переменная среды PATH (echo $PATH)?

Предположительно, когда вы запускаете which gem и which ruby, они указывают на новую локацию 1.8.7? ruby -v и gem -v подтвердят это.

0 голосов
/ 10 августа 2009

Вы проверили свою версию RubyGems, она должна быть> 1.3.1?

Если да, пожалуйста, попробуйте установить его снова.

У многих людей в последнее время возникает такая же проблема. Похоже, это сработало для людей, которые переустанавливали там установку ruby, rubygems с использованием MacPorts.

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