Bundler 找不到乘客 gem

Bundler could not find the passenger gem

Rails 5.1
Ruby 2.4
Ubuntu 16.04
Passenger 5.1.8

我的 Gemfile 没有乘客 gem

我的 apache2 虚拟主机配置文件如下所示:

<VirtualHost *:80>
    ServerAdmin  admin@myapp.com
    ServerName  myapp.com
    DocumentRoot "/home/utils/rails/public"
    PassengerRuby /home/utils/.rvm/gems/ruby-2.4.2/wrappers/ruby
    PassengerAppEnv production
    PassengerFriendlyErrorPages on
    <Directory "/home/utils/rails/public">
        Allow from all
        Options -MultiViews
        Require all granted
    </Directory>
    LogLevel warn
    ErrorLog ${APACHE_LOG_DIR}/follower_wonk_error.log
    CustomLog ${APACHE_LOG_DIR}/follower_wonk_access.log combined
</VirtualHost>


ls -l /home/utils/.rvm/gems/ruby-2.4.2/wrappers/ruby

给我:

-rwxrwxr-x 1 utils utils 274 Oct 11 14:50 /home/utils/.rvm/gems/ruby-2.4.2/wrappers/ruby

和mods-available/passenger.conf里面有:

<IfModule mod_passenger.c>
  PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
  PassengerDefaultRuby /usr/bin/passenger_free_ruby
</IfModule>

但是,当我这样做时

curl http://myapp.com

我得到一个例外。我复制了扩展错误 html 文件,这是其中的一部分:

-------- The exception is as follows: -------

Could not find passenger-5.1.8 in any of the sources (Bundler::GemNotFound)
  /home/utils/.rvm/gems/ruby-2.4.2/gems/bundler-1.15.4/lib/bundler/spec_set.rb:87:in `block in materialize'
  /home/utils/.rvm/gems/ruby-2.4.2/gems/bundler-1.15.4/lib/bundler/spec_set.rb:81:in `map!'
  /home/utils/.rvm/gems/ruby-2.4.2/gems/bundler-1.15.4/lib/bundler/spec_set.rb:81:in `materialize'
  /home/utils/.rvm/gems/ruby-2.4.2/gems/bundler-1.15.4/lib/bundler/definition.rb:159:in `specs'
  /home/utils/.rvm/gems/ruby-2.4.2/gems/bundler-1.15.4/lib/bundler/definition.rb:218:in `specs_for'
  /home/utils/.rvm/gems/ruby-2.4.2/gems/bundler-1.15.4/lib/bundler/definition.rb:207:in `requested_specs'
  /home/utils/.rvm/gems/ruby-2.4.2/gems/bundler-1.15.4/lib/bundler/runtime.rb:109:in `block in definition_method'
  /home/utils/.rvm/gems/ruby-2.4.2/gems/bundler-1.15.4/lib/bundler/runtime.rb:21:in `setup'
  /home/utils/.rvm/gems/ruby-2.4.2/gems/bundler-1.15.4/lib/bundler.rb:101:in `setup'
  /home/utils/.rvm/gems/ruby-2.4.2/gems/bundler-1.15.4/lib/bundler/setup.rb:19:in `<top (required)>'
  /home/utils/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
  /home/utils/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:430:in `activate_gem'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:297:in `block in run_load_path_setup_code'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:435:in `running_bundler'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:296:in `run_load_path_setup_code'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:100:in `preload_app'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:156:in `<module:App>'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>'

但是passenger 5.1.18在那里

我也运行:

rvmsudo passenger-config validate-install

我得到了:

Everything looks good. :-)

对于 passenger 和 apache

有什么想法吗?

如果您使用的是 apache,则不需要 Gemfile 中的 require 位,那是为了使用 rails serverhttps://www.phusionpassenger.com/library/dev/ruby/rails_integration.html#rails-server-integration