0

我在我的 Raspberry Pi (Raspbian) 上运行 Apache,并努力让Passenger 在我的网站上正常工作。当我访问我的站点(设置为 VirtualHost)时,我收到错误消息:“无法加载此类文件 -- 捆绑程序”。回溯的第一行是

/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”自动添加并启用乘客模块:

乘客.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 文件,但没有成功。我不愿意简单地重新安装导轨或乘客,因为我不确定对模块和配置有什么影响。任何建议表示赞赏,谢谢!

4

2 回答 2

1

也许您没有将您的应用程序配置为使用 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。

于 2013-09-10T21:19:36.270 回答
0

问题最终是我需要在 .htaccess 文件中为 GEM_PATH 设置环境变量!

于 2013-09-11T07:16:11.300 回答