Apache Passenger 找不到宝石

Apache Passenger 找不到宝石

我正在运行 Ubuntu 10.04,并且已经转移了一些用 Sinatra 构建的网站。我已经设置了 Phusion Passenger,但当我访问这些网站时,我收到 Passenger LoadError 错误,声称 Passenger 没有要加载的文件 -- sinatra,但当我运行 gem list 或 sudo gem list 时,我清楚地看到列出了 sinatra。为什么 Passenger 找不到这个 gem?

我的 sudo gem env 输出如下所示

RubyGems 环境:
- RUBYGEMS 版本:1.3.5
- RUBY 版本:1.8.7 (2009-12-24 patchlevel 248) [x86_64-linux]
- 安装目录:/usr/local/lib/ruby/gems/1.8
- RUBY 可执行文件:/usr/local/bin/ruby
- 可执行文件目录:/usr/local/bin
-RUBYGEMS 平台:
- ruby
​​ - x86_64-linux
-宝石路径:
- /usr/local/lib/ruby/gems/1.8
- /root/.gem/ruby/1.8
-宝石配置:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
-远程来源:
-http://gems.rubyforge.org/

运行“sudo ruby​​ -v”我看到以下内容:
ruby 1.8.7 (2009-12-24 patchlevel 248) [x86_64-linux], MBARI 0x6770, Ruby Enterprise Edition 2010.01

这是正确的吗,或者两个 ruby​​ 版本应该正确匹配,并在两者中显示 REE?

提前致谢!

答案1

检查你的 Passenger 模块配置文件。就我而言

内容/etc/apache2/mods-enabled/passenger.load

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger2.2.5/ext/apache2/mod_passenger.so

内容/etc/apache2/mods-enabled/passenger.conf

<IfModule mod_passenger.c>
  PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.5
  PassengerRuby /usr/local/bin/ruby
</IfModule>

PassengerRuby告诉模块使用什么 ruby​​ 解释器。

相关内容