Ошибка Debian Passenger: невозможно загрузить такой сборщик файлов (LoadError)

Я запускаю Apache на своем Raspberry Pi (Raspbian) и изо всех сил пытаюсь заставить Passenger правильно работать с моим сайтом. Когда я захожу на свой сайт (который настроен как виртуальный хост), я получаю сообщение об ошибке: «невозможно загрузить такой файл — упаковщик». Первая строка обратной трассы

/usr/lib/ruby/1.9.1/rubygems/custom_require.rb

Чтобы установить Passenger, я следовал инструкциям здесь: http://www.modrails.com/documentation/Users%20guide%20Apache.html#install_on_debian_ubuntu. В частности, я выполнил команду

sudo apt-get install libapache2-mod-passenger  

Эта ссылка гласит: «Пакет Apache предоставляет вам фрагменты конфигурации, поэтому вам не нужно изменять какую-либо конфигурацию Apache, чтобы загрузить Phusion Passenger». На моей машине установка проходила так, что автоматически добавлялся и включался пассажирский модуль через файлы «passenger.conf» и «passenger.load»:

passenger.conf:

<IfModule mod_passenger.c>
  PassengerRoot /usr
  PassengerRuby /usr/bin/ruby 
</IfModule>

пассажир.нагрузка:

LoadModule passenger_module /usr/lib/apache2/modules/mod_passenger.so

Запуск «gem env» дает мне следующий вывод:

RubyGems Environment:
  - RUBYGEMS VERSION: 2.0.7
  - RUBY VERSION: 2.0.0 (2013-06-27 patchlevel 247) [armv6l-linux-eabihf]
  - INSTALLATION DIRECTORY: /home/user/.rvm/gems/ruby-2.0.0-p247
  - RUBY EXECUTABLE: /home/user/.rvm/rubies/ruby-2.0.0-p247/bin/ruby
  - EXECUTABLE DIRECTORY: /home/user/.rvm/gems/ruby-2.0.0-p247/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - armv6l-linux
  - GEM PATHS:
     - /home/user/.rvm/gems/ruby-2.0.0-p247
     - /home/user/.rvm/gems/ruby-2.0.0-p247@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/

Я безуспешно пытался найти файл mod_passenger.so в другом месте файловой системы. Я не хочу просто переустанавливать рельсы или пассажира, потому что я не уверен, какие последствия будут для модулей и конфигурации. Любые советы приветствуются, спасибо!


person user1096786    schedule 07.09.2013    source источник


Ответы (2)


Может быть, вы не настроили свое приложение для использования Ruby 2.0.0? Если вы не сделаете это явно, будет использоваться Ruby по умолчанию, то есть /usr/bin/ruby. В этом разделе руководства рассказывается, как указать другой Ruby: http://www.modrails.com/documentation/Users%20guide%20Apache.html#PassengerRuby

Обратите внимание, что для поддержки нескольких версий Ruby требуется Phusion Passenger >= 4.0.0.

person Hongli    schedule 10.09.2013

Проблема оказалась в том, что мне нужно было установить переменную окружения для GEM_PATH в файле .htaccess!

person user1096786    schedule 11.09.2013