Passenger のインストールを (最終的に) バージョン 3 から 4 に更新したかったのですが、v3 で行ったように GEM_PATH 環境変数の設定に問題があります。
私の Apache 構成には、次の行があり、乗客に rvm gemsets の場所を伝えています (注@my_set):
SetEnv GEM_PATH "/.../.rvm/gems/ruby-1.9.3-p448@my_set:/.../.rvm/gems/ruby-1.9.3-p448@global"
これは Passenger v3 で問題なく動作します。ただし、バージョン 4 に切り替えると、アプリケーションの読み込みに失敗し、デバッグ ビューに次のように表示されます。
GEM_PATH = /.../.rvm/gems/ruby-1.9.3:/.../.rvm/gems/ruby-1.9.3-p448@global
これはシステムのデフォルトのようです。
setenv を使用して他の ENV 変数を設定すると機能します。たとえば、次の行を追加しました
SetEnv TEST_VAR "FOO"
私のApache構成に追加すると、パッセンジャーデバッグビューで問題なく表示されました:
TEST_VAR = "FOO"
Passenger が私の GEM_PATH 環境変数を何らかの形で具体的に上書きしているように感じます。私が知る限り、ドキュメントにはこれについての言及はありません。どんな考えでも大歓迎です。