Я пытаюсь развернуть приложение Rails (которое отлично работает в разработке) на рабочем сервере.Я установил и настроил Apache, Passenger и необходимые гемы.После перезапуска apache и перехода на сервер я получаю следующую ошибку:
Exception PhusionPassenger::UnknownError in PhusionPassenger::Railz::ApplicationSpawner (no such file to load -- money (MissingSourceFile))
gem list money
показывает:
*** LOCAL GEMS ***
money (3.0.5)
Сеанс irb
на сервере:
irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'money'
=> true
Камень требуется в config/environment.rb
:
require 'money'
Что здесь происходит?
Редактировать: Камень был установлен как root:
# ls -l /usr/lib/ruby/gems/1.8/gems/money-3.0.5/lib
total 8
drwx------ 2 root root 4096 Sep 2 10:26 money
-rw-r--r-- 1 root root 1284 Sep 2 10:26 money.rb
Редактировать 2: После успеха на этом контрольно-пропускном пункте я понял, что Passenger как бы создан для использования с Ruby Enterprise Edition, поэтому я попытался установить его.После этого я использовал версию gem для Ruby Enterprise, чтобы установить все необходимые гемы.Теперь, когда я перезагружаю Apache и перехожу на свой сервер, я получаю:
Exception LoadError in PhusionPassenger::Railz::ApplicationSpawner (no such file to load -- logger)
У меня нет проблем с регистратором в старых или новых версиях Ruby:
# which irb
/usr/bin/irb
# irb
irb(main):001:0> require 'logger'
=> true
irb(main):002:0> exit
# /opt/ruby-enterprise-1.8.7-2010.02/bin/irb
irb(main):001:0> require 'logger'
=> true
Что-то должнопродолжать работу с путями или разрешениями, но я точно следовал инструкциям установщиков Passenger и Ruby Enterprise Edition.Есть другие идеи?