我正在使用RVM并在Apache上运行Passenger;我收到此错误 - 没有这样的文件加载 - 捆绑。
我正在使用ruby-1.9.2-head进行部署,我在这里安装了bundler,但我有一种感觉Passenger正在通过Backtrace输出加载错误的gem:
0 /usr/local/rvm/rubies/ruby-1.8.7-head/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb 31 in `gem_original_require'
1 /usr/local/rvm/rubies/ruby-1.8.7-head/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb 31 in `require'
2 /usr/local/rvm/gems/ruby-1.9.2-head/gems/passenger-3.0.9/lib/phusion_passenger/utils.rb 325 in `prepare_app_process'
前两行在路径中有ruby-1.8.7-head,这是正确的吗? (其余的Backtrace系列都有ruby-1.9.2-head。)
我的apache2.conf文件中有以下内容:
LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.2-head/gems/passenger-3.0.9/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/ruby-1.9.2-head/gems/passenger-3.0.9
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.2-head/ruby
为什么加载ruby-1.8.7-head?这是我需要解决的问题吗? (有一次我确实在这里安装了乘客,但是我卸载了宝石。)
答案 0 :(得分:2)
我明白了。我有另一个已启用的站点,必须覆盖乘客正在使用的Ruby版本。
在我的其他网站的配置中,这就在那里:
PassengerRuby /usr/local/rvm/wrappers/ruby-1.8.7-head/ruby
一旦我禁用了这个网站,一切都按预期工作。