【问题标题】:Cannot load such file -- bundler/setup (loaderror) - Passenger / Apache2无法加载此类文件--bundler/setup (loaderror)-Passenger / Apache2
【发布时间】:2015-11-17 02:27:43
【问题描述】:

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

设置

  • Debian 8
  • Ruby 2.2.2(通过 RVM 安装)
  • RVM 1.26.11
  • Rails 4.2.4
  • 乘客 5.0.21
  • Capistrano 3.4.0

乘客错误

    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>

宝石 ENV

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

【问题讨论】:

    标签: ruby-on-rails ruby apache2 debian passenger


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的评论。不幸的是,这篇文章没有解决这个问题。我会继续挖掘...
    • 我最终以我在 capistrano 中使用的“部署”用户身份重新安装了 RVM、Bundle 和 Rails。可能是apache目录中的某种路径问题。感谢您的时间和回答。
    【解决方案2】:

    我在安装过程中遇到了类似的错误,只是找不到预加载器,这就是问题所在。

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

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

    【讨论】:

      猜你喜欢
      • 2015-10-11
      • 1970-01-01
      • 2015-06-14
      • 1970-01-01
      • 1970-01-01
      • 2020-01-20
      • 1970-01-01
      • 1970-01-01
      • 2015-11-24
      相关资源
      最近更新 更多