私は以下を持っています(そして「/.../」へのフルパスを短縮しました):
$ gem environment
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.21
- RUBY VERSION: 1.9.2 (2012-02-14 patchlevel 318) [x86_64-linux]
- INSTALLATION DIRECTORY: /.../.rvm/gems/ruby-1.9.2-p318@rails-3.0
- RUBY EXECUTABLE: /.../.rvm/rubies/ruby-1.9.2-p318/bin/ruby
- EXECUTABLE DIRECTORY: /.../.rvm/gems/ruby-1.9.2-p318@rails-3.0/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /.../.rvm/gems/ruby-1.9.2-p318@rails-3.0
- /.../.rvm/gems/ruby-1.9.2-p318@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
ご覧のとおり、@global と @rails-3.0 の gemset があります。Passenger 3.0.11 は @global gemset にインストールされており、アプリケーション ルートに .rmvrc ファイルがあります。
rvm ruby-1.9.2-p318@rails-3.0
ただし、$ bundle install
アプリを実行して再起動した後$ touch tmp/restart.txt
、次のような Passenger エラー画面が表示され続けます。
Error message: Could not find aaronh-chronic-0.3.9 in any of the sources (Bundler::GemNotFound)
この gem は @rails-3.0 gemset にインストールされています
@global gemset に aaronh-chronic gem をインストールすると、次の行について不平を言うだけです。@rails-3.0 gemset を最初に検索するのではなく、@global gemset のみをチェックしているようです。両方のジェムセットを使用するにはどうすればよいですか? (完全なバックトレースはこちら)
更新:これが私の Passenger Apache 構成です。
# In /etc/apache2/mods_available/passenger.load
LoadModule passenger_module /.../.rvm/gems/ruby-1.9.2-p318@global/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
# In /etc/apache2/mods_available/passenger.conf
<IfModule mod_passenger.c>
PassengerRoot /.../.rvm/gems/ruby-1.9.2-p318@global/gems/passenger-3.0.11
PassengerRuby /.../.rvm/wrappers/ruby-1.9.2-p318@global/ruby
</IfModule>