ruby-on-rails – 带nginx的乘客:无法加载此类文件 – bundler/setup(LoadError

只安装了一个版本的Ruby,我运行了gem install bundler&&捆绑安装.

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 `

最佳答案
我一直在解决类似的问题.

我的问题在于配置passenger_ruby /usr/bin/ruby;哪个指向不正确的版本.我的解决方案是设置ruby命令输出的路径

在服务器上我使用rvm.但是还有其他ruby的存在.

首先尝试测试环境.转到应用程序目录并运行乘客启动.如果服务器已准备好运行应用程序,这将向您显示.修复错误……

如果消息仍然这样说

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

运行gem install bundler并重新检查.

然后在NGINX中将路径设置为ruby命令的路径并重新启动应用程序.

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。