Passenger with nginx:无法加载此类文件--bundler/setup(LoadError)

人气:185 发布:2022-10-16 标签: nginx ruby-on-rails passenger

问题描述

只安装了一个Ruby版本,我已经运行了gem install bundler && bundle install

nginx conf

passenger_root /root/.gem/ruby/2.1.0/gems/passenger-4.0.52;
passenger_ruby /usr/bin/ruby;
server {
    listen 80;
    server_name example.com;
    root /srv/http/myrailsapp/public;
    passenger_enabled on;
    rails_env development;
}

错误日志

cannot load such file -- bundler/setup (LoadError)
/usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/lib/phusion_passenger/loader_shared_helpers.rb:263:in `block in run_load_path_setup_code'
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/lib/phusion_passenger/loader_shared_helpers.rb:366:in `running_bundler'
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/lib/phusion_passenger/loader_shared_helpers.rb:261:in `run_load_path_setup_code'
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/helper-scripts/rack-preloader.rb:100:in `preload_app'
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/helper-scripts/rack-preloader.rb:158:in `<module:App>'
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/helper-scripts/rack-preloader.rb:29:in `<module:PhusionPassenger>'
/root/.gem/ruby/2.1.0/gems/passenger-4.0.52/helper-scripts/rack-preloader.rb:28:in `<main>'

推荐答案

我一直在解决类似的问题。

我的问题是passenger_ruby /usr/bin/ruby;的配置指向错误的版本。我的解决方案是设置命令which ruby

的输出路径

在服务器上,我使用RVM。但还有其他红宝石的分期付款。

首先尝试测试环境。转到应用程序目录并运行passenger start。这将向您显示服务器是否已准备好运行该应用程序。修复错误...

如果邮件中仍写着

cannot load such file -- bundler/setup (LoadError)

运行gem install bundler并重新检查。

然后在which ruby命令中将路径设置为Path from,并重新启动应用程序。

800