微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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 `<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​​;哪个指向不正确的版本.我的解决方案是设置ruby命令输出的路径

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

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

如果消息仍然这样说

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

运行gem install bundler并重新检查.

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

原文地址:https://www.jb51.cc/ruby/264918.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐