2

私は以下を持っています(そして「/.../」へのフルパスを短縮しました):

$ 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>
4

1 に答える 1