Развертывание Rails + Passenger + Apache: «Отсутствует Rails 2.3.5 gem», но оно установлено - PullRequest
0 голосов
/ 19 ноября 2010

Я просматривал всю сеть около недели и не нашел решения своей проблемы.У меня есть приложение Ruby on Rails, которое я пытаюсь развернуть на рабочей версии Ubuntu 10.04 для серверов.У меня установлены Apache2.2 и Passenger3.0.0 с Ruby 1.8.7, Rails 2.3.5 и RubyGems 1.3.7.Мое приложение rails находится в /var/rails_app_name/, а rubygems / ruby ​​установлено в /var/lib/gems/1.8

У меня есть тестовый сервер с Ubuntu 10.04 (версия для графического интерфейса пользователя), работающий с той же настройкой и настройкой, которая работает как чудо.Единственная разница в том, что мой корень приложения rails находится в локальной папке пользователя, например, /home/username/rails_app_name/

Моя проблема заключается в том, что на рабочем сервере Passenger выдает ошибку: "Missing the Rails 2.3.5 gem. Please 'gem install -v=2.3.5 rails'. update your RAILS_GEM_VERSION...." Я установил гем rails в обоихкаталоги gem перечислены при запуске среды gem.Вот некоторые результаты конфигурации:

%> gem environment 
  • ВЕРСИЯ RUBYGEMS: 1.3.7
  • ВЕРСИЯ RUBY: 1.8.7 (2010-01-10 patchlevel 249) [i486-linux]
  • КАТАЛОГ УСТАНОВКИ: /var/lib/gems/1.8
  • RUBY EXECUTABLE: /usr/bin/ruby1.8
  • EXECUTABLE DIRECTORY: / var / lib / gems /1.8 / bin
  • Платформы RUBYGEMS:
    • ruby ​​
    • x86-linux
  • ПУТИ ДЖЕМ:
    • /var / lib / gems / 1.8
    • / home / sross / .gem / ruby ​​/ 1.8
  • КОНФИГУРАЦИЯ GEM:
    • : update_sources => true
    • : подробный => true
    • : эталонный тест => false
    • : обратная трассировка => false
    • : bulk_threshold => 1000
  • ДИСТАНЦИОННЫЕ ИСТОЧНИКИ:

    %> список драгоценных камней

    actionmailer (2.3.5) actionpack(2.3.5) activemodel (3.0.3) activerecord (2.3.5) activeresource (2.3.5) activesupport (3.0.3, 2.3.5) acts_as_audited (1.1.1) арел (2.0.4) аутлогический (2.1.6))builder (2.1.2) cancan (1.4.1) daemon_controller (0.2.5) fastthread (1.0.7) file-tail (1.0.5) i18n (0.4.2) пассажирская (3.0.0) стойка (1.0.1)рельсы (2.3.5) грабли (0.8.7) spruz (0.2.2) tzinfo (0.3.23)

    %> который камень

    / usr / bin / gem

    %> который ruby ​​

    / usr / bin / ruby ​​

    ** /etc/apache2/mods-enabled/passenger.conf **

    PassengerRoot / var /lib / gems / 1.8 / gems / passenger-3.0.0 PassengerRuby / usr / bin / ruby ​​

    ** /etc/apache2/mods-enabled/passenger.load **

    LoadModule passenger_module/var/lib/gems/1.8/gems/passenger-3.0.0/ext/apache2/mod_passenger.so

Дайте мне знать, если вы хотите увидеть что-нибудь еще.Я установил все с помощью sudo, все мои каталоги rubygems, каталоги ruby, каталоги приложений - это chmod 755, так что www-data должен иметь правильный доступ?Я попытался установить GEM_HOME для обоих путей rubygems и удостовериться, что камень rails также находится там.

Помогите, это меня убивает!

Обновление:

Список гемов для тестового сервера (работает нормально)

abstract (1.0.0)
actionmailer (3.0.0, 2.3.8, 2.3.5)
actionpack (3.0.0, 2.3.8, 2.3.5)
activemodel (3.0.0)
activerecord (3.0.0, 2.3.8, 2.3.5)
activeresource (3.0.0, 2.3.8, 2.3.5)
activesupport (3.0.0, 2.3.8, 2.3.5)
acts_as_audited (1.1.1)
arel (1.0.1)
authlogic (2.1.6)
builder (2.1.2)
bundler (1.0.0)
cancan (1.3.4)
cgi_multipart_eof_fix (2.5.0)
daemon_controller (0.2.5)
daemons (1.1.0)
dbi (0.4.5)
deprecated (2.0.1)
erubis (2.6.6)
fastthread (1.0.7)
file-tail (1.0.5)
gem_plugin (0.2.3)
mail (2.2.5)
mime-types (1.16)
mongrel (1.1.5)
mongrel_cluster (1.0.5)
mysql (2.8.1)
passenger (3.0.0)
polyglot (0.3.1)
rack (1.2.1, 1.1.0, 1.0.1)
rack-mount (0.6.13)
rack-test (0.5.4)
rails (2.3.5)
railties (3.0.0)
rake (0.8.7)
spruz (0.2.2)
thor (0.14.0)
treetop (1.4.8)
tzinfo (0.3.23)
validates_date_time (1.0.0)

Ответы [ 2 ]

3 голосов
/ 23 ноября 2010

Я привлек коллегу, чтобы еще раз взглянуть на эту проблему, и мы нашли эту публикацию , чтобы преобразовать вводящую в заблуждение и бесполезную ошибку, указанную в моем исходном сообщении, в фактический текст ошибки.Корень проблемы оказался в том, какие версии конкретных драгоценных камней были установлены и где они были установлены.AFIAK В итоге мне понадобилась стойка версии 1.0.0 и версии 1.0.1.

Итак, передавая то, что я узнал из этой проблемы, другим: если вы получаете «Missing the Rails XXX gem ...», взгляните на ваш файл boot.rb и внесите изменения, как описано в ссылке выше.Это покажет реальную проблему, которая, как представляется, всегда является неверной версией какого-либо другого драгоценного камня, вызывающего сбой драгоценного камня рельсов в процессе загрузки.

Спасибо всем, кто потратил время, изучая мой оригинальный пост!

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

Можете ли вы проверить Apache для вашего рубина?Ищите

PassengerRuby / usr / bin / ruby ​​

Возможно, у вас есть пассажир, ищущий неправильный рубин (может быть несколько установленных в 2 каталогах)

...