Ошибка Rails 3: нет такого файла для загрузки - инициализатор (LoadError) - PullRequest
2 голосов
/ 26 ноября 2010

Я нахожусь на Ubuntu, и мое приложение написано для Rails 2.3.5, и я заставил его работать на 2.3.10, но когда я обновил до Rails 3.0.3 и попытался запустить его, используя "скрипт / сервер ruby",он выдает эту ошибку.

/usr/local/lib/site_ruby/1.8/rubygems.rb:230:in `activate': can't activate rails (= 2.3.10, runtime) for [], already activated rails-3.0.3 for [] (Gem::LoadError)
        from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:35:in `require'
        from /home/bob/savage/config/boot.rb:55:in `load_initializer'
        from /home/bob/savage/config/boot.rb:38:in `run'
        from /home/bob/savage/config/boot.rb:11:in `boot!'
        from /home/bob/savage/config/boot.rb:110
        from script/server:2:in `require'
        from script/server:2

Когда я удалил Rails 2.3.10, он выдает эту ошибку вместо

bob@ubuntu:~/test.2.3.10$ ruby script/server
/usr/local/lib/site_ruby/1.8/rubygems.rb:777:in `report_activate_error': RubyGem version error: rails(3.0.3 not = 2.3.10) (Gem::LoadError)
        from /usr/local/lib/site_ruby/1.8/rubygems.rb:211:in `activate'
        from /usr/local/lib/site_ruby/1.8/rubygems.rb:1056:in `gem'
        from /home/bob/test.2.3.10/config/boot.rb:60:in `load_rails_gem'
        from /home/bob/test.2.3.10/config/boot.rb:54:in `load_initializer'
        from /home/bob/test.2.3.10/config/boot.rb:38:in `run'
        from /home/bob/test.2.3.10/config/boot.rb:11:in `boot!'
        from /home/bob/test.2.3.10/config/boot.rb:114
        from script/server:2:in `require'
        from script/server:2

Идеи?Заранее спасибо за помощь.

Ответы [ 4 ]

6 голосов
/ 28 декабря 2010

Я получал ту же ошибку, пока не понял, что все еще использую тот же старый config / boot.rb из версии моего приложения 2.3.10. Я зашел в чистый каталог, сгенерировал новое приложение Rails 3.0.3 и использовал созданный им boot.rb. Файл совершенно другой, и он помог мне справиться с этой ошибкой.

0 голосов
/ 04 сентября 2013

Это файл config / boot.rb Rails 3.0.0 по умолчанию. Я бы использовал все или часть этого вместо вашего config / boot.rb

require 'rubygems'

# Set up gems listed in the Gemfile.
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)

require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])
0 голосов
/ 29 ноября 2010

У меня такая же проблема.

Прочитав комментарии выше, я попытался создать новое пустое приложение в другом каталоге:
rails new foo
cd foo
rails s

WEBrick запускается просто отлично.Возможно, Боб сможет повторить это?Это исключает проблемы с Rails и Ruby версиями (3.0.3, 187p302 соответственно для меня).И это действительно указывает на проблемы с запуском утилит Rails 3 в каталогах со старыми версиями boot.rb или environment.rb и запуском файлов сценариев Rails 2 (плагин, сервер), если 3.0.3 является активной версией Rails.

0 голосов
/ 26 ноября 2010

Заметил 1.8 на вашем пути - я считаю, что вам нужно быть на 1.9.2, чтобы Rails 3 работал. Используйте RVM, чтобы сразу приступить к работе.

Дополнительно - вы обычно запускаете Rails 3 с 'rails server' или 'rails s' - вам больше не нужно запускать скрипт / сервер. Попробуйте и посмотрите, как это работает.

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