【发布时间】:2015-12-08 10:43:36
【问题描述】:
我是部署 Rails 应用程序的新手,对于我在许多网站上看到的内容,Apache/Passenger 组合是最简单的组合之一;但是我遇到乘客不想启动我的应用程序并在输入 sudo tail -50 /var/log/apache2/error.log 时显示以下错误消息 命令:
Could not spawn process for application /home/test/Documents/sites/depot:
An error occured while starting up the preloader.
Message from application: cannot load such file -- bundler/setup (LoadError)
/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in `require'
/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in `require'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:406:in
`activate_gem'
...
age/Cor/Req/CheckoutSession.cpp:252 ]: [Client 1-1] Cannot checkout session
because a spawning error occurred. The identifier of the error is 6ce15bbe.
Please see earlier logs for details about the error.
我怀疑这与我的 ruby 安装有关,我使用 rbenv 并获得了 2.2.3 版本,但在错误消息中它链接到我从未安装过的 2.0.0 版本。 我也怀疑这与我使用另一个指南中的这两个命令有关:
sudo rm /usr/bin/ruby
sudo ln -s /usr/local/bin/ruby /usr/bin/ruby
如果有人知道如何解决这个令人头疼的问题,我将不胜感激。
谢谢!
【问题讨论】:
-
你
gem install bundler了吗? -
@CamdenNarzt 是的,安装好了,同样的错误信息。
-
那么 dimakura 可能在正确的路径上,您需要将
PassengerDefaultRuby设置为 rbenv 中可能位于~/.rbenv/shims/ruby下的 ruby shim 的路径。 -
@CamdenNarzt 更改了 Passenger.conf 文件中的 PassengerDefaultRuby,这确实将我的错误消息中的 ruby 版本更改为 2.2.3 ;但是,我现在在浏览器中收到“从应用程序收到的不完整响应”消息,并且在我看到的日志中:(缺少
secret_token和secret_key_base用于“生产”环境,在config/secrets.yml中设置这些值)我认为我即将解决这个问题(希望如此) -
现在只需在 /etc/apache2/envvars 中设置变量
标签: ruby-on-rails ruby apache passenger