Как заставить Rails и mod_passenger работать под Debian с пакетами

#ruby-on-rails #debian #passenger

#ruby-on-rails #debian #пассажир

Вопрос:

Я запускаю сервер Debian squeeze с установленными этими (перенесенными) пакетами:

 rails          2.3.5-1~bpo50 1
rails-ruby1.8  2.3.5-1~bpo50 1
rake           0.8.7-1~bpo50 1
libapache2-mod-passenger  2.2.11debian-1~bpo50 1
  

У меня есть приложение Rails, которое я пытаюсь запустить в этой среде, но когда я загружаю страницу, я получаю это сообщение об ошибке:

Фактическая ошибка загрузки: не удалось найти RubyGem rails (= 2.3.5), отсутствует Rails 2.3.5 gem. Пожалуйста gem install
-v=2.3.5 rails
, обновите свой параметр RAILS_GEM_VERSION в config /environment.rb для версии Rails, которую вы установили, или прокомментируйте RAILS_GEM_VERSION, чтобы использовать последнюю установленную версию.

Существует ограничение, согласно которому я должен использовать эти «официальные» пакеты Rails и mod_passenger Debian, поэтому установка Rails и mod_passenger традиционным способом через gems невозможна.

Комментарии:

1. Доктор, я чувствую себя очень плохо, вы можете мне помочь? Существует ограничение, из-за которого я не могу принимать никаких лекарств.

2. Возможно, вам следует задать этот вопрос при сбое сервера, поскольку на самом деле это не программирование.

3. Если имеет больше смысла задавать этот вопрос при serverfault, возможно, кто-нибудь мог бы перенести мой вопрос для меня.

Ответ №1:

Нет реальной причины, по которой вам нужно использовать официальные gems из debian. Вы получаете более быстрые обновления для системы безопасности, используя rubygems или переходя на полномасштабный rvm.

Однако я бы посоветовал закомментировать RAILS_GEM_VERSION в config / environment.rb, а затем использовать версию, которую вы установили.

Комментарии:

1. К сожалению, это не сработало. Теперь написано «Не удалось найти RubyGem rails (>= 0)».

Ответ №2:

Кажется, это работает:

 ln -s /usr/share/rails-ruby1.8/ /usr/share/myrailsproject/vendor/rails