我已经在开发中设置了 Passenger (Mac OS X),并且它运行完美。后来唯一的问题来了:现在我有一个自定义的GEM_HOME
路径和 ImageMagick 二进制文件安装在"/usr/local"
。我可以将它们放入获取源的 shell rc 文件之一,这解决了从控制台生成的进程的环境变量问题;但乘客呢?以这种方式运行时,相同的应用程序无法找到我的宝石。
我知道有两种解决方案。第一个(已记录here http://www.viget.com/extend/rubyinline-in-shared-rails-environments/) 本质上与 manveru 的相同 - 直接在代码中设置 ENV 变量。
第二个是围绕 Passenger 使用的 Ruby 解释器创建一个包装器,并记录在案here http://blog.rayapps.com/2008/05/21/using-mod_rails-with-rails-applications-on-oracle/(寻找passenger_with_ruby)。要点是您创建(并将 Apache 配置中的 PassengerRuby 指向)/usr/bin/ruby_with_env,这是一个可执行文件,其中包含:
#!/bin/bash
export ENV_VAR=value
/usr/bin/ruby $*
两者都有效;我认为前一种方法不那么老套。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)