web-dev-qa-db-ja.com

ApachePassengerがgemを見つけることができません

Ubuntu 10.04を実行していて、Sinatraで構築されたいくつかのサイトに転送しました。 Phusionの乗客を設定しましたが、サイトにアクセスすると、乗客に「ロードするファイルがありません-sinatra」と表示されるPassenger LoadErrorが発生しますが、gemlistまたはSudogem listを実行すると、sinatraがはっきりと表示されます。記載されています。なぜ乗客はこの宝石を見つけることができないのですか?

私のSudogemenv出力は次のようになります

RubyGems環境:
-RUBYGEMSバージョン:1.3.5
-Rubyバージョン:1.8.7(2009-12-24パッチレベル248)[x86_64-linux]
-インストールディレクトリ:/usr/local/lib/Ruby/gems/1.8
-Ruby実行可能ファイル:/ usr/local/bin/Ruby
-実行可能ディレクトリ:/ usr/local/bin
RUBYGEMSプラットフォーム:
-ルビー
-x86_64-linux
GEMパス:
-/ usr/local/lib/Ruby/gems/1.8
-/ root/.gem/Ruby/1.8
GEM構成:
-: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

それは正しいですか、それとも2つのRubyバージョンが正しく一致し、両方にREEが表示されている必要がありますか?

前もって感謝します!

2
purpletonic

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インタープリター)をモジュールに指示しています。

2
Casual Coder