无法加载此类文件 -- bundler/setup (loaderror) - Passenger / Apache2

Cannot load such file -- bundler/setup (loaderror) - Passenger / Apache2

我遇到跟随错误,似乎无法弄清楚原因以及如何解决它。

设置

乘客错误

    cannot load such file -- bundler/setup (LoadError)
    /usr/local/rvm/rubies/ruby-2.2.2/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    /usr/local/rvm/rubies/ruby-2.2.2/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    /usr/local/rvm/gems/ruby-2.2.2/gems/passenger-5.0.21/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb:430:in `activate_gem'
    /usr/local/rvm/gems/ruby-2.2.2/gems/passenger-5.0.21/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb:297:in `block in run_load_path_setup_code'
    /usr/local/rvm/gems/ruby-2.2.2/gems/passenger-5.0.21/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb:435:in `running_bundler'
    /usr/local/rvm/gems/ruby-2.2.2/gems/passenger-5.0.21/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb:296:in `run_load_path_setup_code'
    /usr/local/rvm/gems/ruby-2.2.2/gems/passenger-5.0.21/src/helper-scripts/rack-preloader.rb:100:in `preload_app'
    /usr/local/rvm/gems/ruby-2.2.2/gems/passenger-5.0.21/src/helper-scripts/rack-preloader.rb:156:in `<module:App>'
    /usr/local/rvm/gems/ruby-2.2.2/gems/passenger-5.0.21/src/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
    /usr/local/rvm/gems/ruby-2.2.2/gems/passenger-5.0.21/src/helper-scripts/rack-preloader.rb:29:in `<main>'

APP_NAME.conf

<VirtualHost *:80>
    ServerName HOSTNAME
    ServerAdmin sudo@localhost
    DocumentRoot /var/www/APP_NAME/current/public
    PassengerRoot /usr/local/rvm/gems/ruby-2.2.2/gems/passenger-5.0.21
    RailsEnv qa
    <Directory /var/www/APP_NAME/current/public>
        AllowOverride all
        Options -MultiViews
    </Directory>
</VirtualHost>

Gem 环境

RubyGems Environment:
  - RUBYGEMS VERSION: 2.4.8
  - RUBY VERSION: 2.2.2 (2015-04-13 patchlevel 95) [armv7l-linux-eabihf]
  - INSTALLATION DIRECTORY: /usr/local/rvm/gems/ruby-2.2.2
  - RUBY EXECUTABLE: /usr/local/rvm/rubies/ruby-2.2.2/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/rvm/gems/ruby-2.2.2/bin
  - SPEC CACHE DIRECTORY: /root/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /usr/local/rvm/rubies/ruby-2.2.2/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - armv7l-linux
  - GEM PATHS:
     - /usr/local/rvm/gems/ruby-2.2.2
     - /usr/local/rvm/gems/ruby-2.2.2@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/local/rvm/gems/ruby-2.2.2/bin
     - /usr/local/rvm/gems/ruby-2.2.2@global/bin
     - /usr/local/rvm/rubies/ruby-2.2.2/bin
     - /usr/local/rvm/bin
     - /usr/local/sbin
     - /usr/local/bin
     - /usr/sbin
     - /usr/bin
     - /sbin
     - /bin

您是否检查过 bundler 安装在您的机器上?

我更喜欢 rbenv 而不是 rvm,并且不是 100% 熟悉如何使用 RVM 安装捆绑器 gem,但是这个 article 可能会有所帮助。

我在安装时遇到了类似的错误,只是找不到预加载器,问题出在这里。

我从 apache-passenger 安装程序安装了 passenger,并以这种方式从源代码安装了它,所以它是最新的。

当我安装 gem 时,我只是使用了 gem install passenger,它不是最新的。丢失的文件在旧版本中,但不在新版本中,所以我最终不得不这样做 rsync -av --ignore-existing /path/to/passenger-out-of-date-folder/ /path/to/passenger-up-to-date-folder/