0

我正在使用 rbenv 来管理我的 Ruby 版本,但它似乎不适用于 Phusion Passenger。

即使我已经将带有我的 rbenv Ruby 版本的行添加到我的 /etc/apache2/httpd.conf 文件中,我仍然收到此消息:

Web application could not be started
no such file to load -- rack (LoadError)

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
/usr/local/opt/passenger/libexec/helper-scripts/rack-preloader.rb:100:in `preload_app'
/usr/local/opt/passenger/libexec/helper-scripts/rack-preloader.rb:150
Application root
/Users/julian/Projects/assign
Environment (value of RAILS_ENV, RACK_ENV, WSGI_ENV and PASSENGER_ENV)
production
Ruby interpreter command
/usr/bin/ruby

然而,如果你往下看,我认为我的路径是正确的:

PATH = /usr/local/heroku/bin:/Users/julian/.rbenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

我不确定我需要改变什么才能完成这项工作。

4

1 回答 1

1

我已将带有我的 rbenv Ruby 版本的行添加到我的 /etc/apache2/httpd.conf 文件中

好吧,这并没有告诉我们什么,因为我们无法判断您输入的内容是否正确。

乘客的配置选项包括指定使用哪个 Ruby 的能力。使用 Apache:

PassengerRuby /usr/local/bin/ruby;

对于 Nginx 使用:

passenger_ruby /usr/local/bin/ruby;

在 nginx.conf 或包含的 .conf 文件中,它会进入http { ... }块内。我不确定 Apache 会是什么,因为我没有使用 Apache。

于 2013-11-06T01:12:25.210 回答