Назад | Перейти на главную страницу

Пассажир «Missing the Rails 2.3.4 gem» после перезапуска Apache

У меня есть приложение rails, работающее на пассажирском / apache 2.2.3 / RHEL. Все работало нормально, пока мне не пришлось перезапускать Apache. Как только я это сделал, я получил следующее сообщение:

Отсутствует гем Rails 2.3.4. пожалуйста gem install -v=2.3.4 railsобновите свой RAILS_GEM_VERSION настройку в config / environment.rb для версии Rails, которую вы установили, или закомментируйте RAILS_GEM_VERSION использовать последнюю установленную версию.

Я не уверен, что делать, так как раньше приложение работало нормально. я сделал touch restart.txt чтобы попытаться перезапустить его, снова развернул из Capistrano и снова удалил / установил гем rails, но ничего не сработало. rails -v печатает Rails 2.3.4.

Я решил это некоторое время назад, перезапустив apache с помощью команды /etc/init.d/httpd restart скорее, чем service httpd restart. Не знаю, почему это сработало, но сработало. Ни одно из изменений environment.rb ничего не дало.

Похоже, приложение rails было построено либо с предыдущей, либо с новой версией rails. Чтобы исправить это, вам нужно перейти к самому верхнему родительскому элементу приложения (родительскому каталогу app, config и других) и запустить:

rake rails:update

И / или обновите config / environment.rb до правильной версии.

RAILS_GEM_VERSION = ‘2.3.4′ unless defined? RAILS_GEM_VERSION

Тем не менее, если вы получили приложение откуда-то, запуск вышеуказанного может не работать. Вернитесь к машине, на которой было создано приложение, и обновите рельсы, а также приложение на этой машине.

Я столкнулся с подобной проблемой .... вот как я ее решил ...

Сначала проверьте текущее окружение драгоценных камней, запустив в терминале команду "gem environment".

Поищите GEM PATHS, например, у меня

/usr/local/lib/ruby/gems/1.8 /home/anatoly/.gem/ruby/1.8

Я действительно устанавливаю все драгоценные камни с помощью sudo, поэтому меня интересовал только первый.

Затем добавьте это к своему пути.

Я использую Ubuntu 9.10, так что это означает: sudo gedit ~ / .bashrc

Внизу файла я добавил: export PATH = / usr / local / lib / ruby ​​/ gems / 1.8: $ PATH

в файле config / environment.rb для приложения rails) .. Я добавил это сверху: ENV ['GEM_PATH'] = "/usr/local/lib/ruby/gems/1.8:#{ENV['GEM_PATH '] } "

Сохранить, выйти, снова войти. Скрестите пальцы.