我正在尝试设置乘客、Rails 和 Nginx。Nginx 正确路由到Passenger,但是当我加载页面时出现以下错误:
cannot load such file -- bundler/setup (LoadError)
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:219:in `block in run_load_path_setup_code'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:333:in `running_bundler'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:217:in `run_load_path_setup_code'
/usr/share/passenger/helper-scripts/rack-preloader.rb:96:in `preload_app'
/usr/share/passenger/helper-scripts/rack-preloader.rb:150:in `<module:App>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<module:PhusionPassenger>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:28:in `<main>'
我不明白的是:
- 为什么有一堆对 Ruby 1.9.1 的引用?我默认使用 1.9.3,并且在全局 1.9.3 和用户特定的 1.9.3 上都安装了 Bundler。
- 如何更改乘客运行的用户?
- 我是否也应该在Passenger的用户中安装一堆宝石?
- 我是否需要授予 www-data(该乘客在 AFAIK 上运行)访问某个 gem 目录的权限?
- 我应该增加 GEM_HOME 吗?如果是,我应该指向哪个 gem 目录?
- 为什么在安装 nginx 乘客包期间没有进行此设置?
我基本上到处都安装了 bundler,但肯定错过了一些重要的东西。
- RVM 如何使事情复杂化?
- 使用 RVM 时需要注意什么?
- 系统中的每个用户是否都获得了我在 RVM 中设置的 Ruby 版本?如果没有,我怎么能做到这一点?
我觉得我现在已经接近掌握整个事情了,但我自己却无法阅读解决方案。
如果您访问http://privateeering.me:8000/,您可以看到错误转储的其余部分。