仅安装了一个版本的Ruby,并且我已经运行gem install bundler && bundle install
。
Nginx的配置
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。但是,还有其他一些 ruby 安装。
首先尝试测试环境。转到应用程序目录并运行passenger start
。如果服务器已准备好运行该应用程序,它将向您显示。修正错误...
如果消息仍然表明
cannot load such file -- bundler/setup (LoadError)
运行
gem install bundler
并重新检查。然后在NGINX中将路径设置为
which ruby
命令的路径,然后重新启动应用程序。
关于ruby-on-rails - Nginx : cannot load such file — bundler/setup (LoadError)的乘客,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26095717/