我正在使用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
我不确定我需要改变什么才能使这项工作。
答案 0 :(得分:1)
我已经将我的rbenv Ruby版本的行添加到我的/etc/apache2/httpd.conf文件中
嗯,这没有告诉我们什么,因为我们无法判断你输入的内容是否正确。
Passenger的配置选项包括指定使用哪个Ruby的功能。使用Apache:
PassengerRuby /usr/local/bin/ruby;
对于Nginx使用:
passenger_ruby /usr/local/bin/ruby;
在nginx.conf或包含的.conf文件中,它会进入http { ... }
块。我不确定Apache的用途是什么,因为我没有使用Apache。