繁体   English   中英

Apache和Ruby on Rails PATH

[英]Apache and Ruby on Rails PATH

我有一个自定义的Apache初始化程序,以便可以访问我的Homebrew二进制文件:

SetEnv PATH /usr/local/bin:/usr/local/sbin:$PATH

但是,除非给出完整的路径,否则我的Rails(3.0.4)应用程序无法找到任何二进制文件。 例如:

begin    
   `convert`
   raise Errno::ENOENT if $?.exitstatus == 127
 rescue Errno::ENOENT
   logger.info "command 'convert' not found: ensure Image Magick is installed"
 end

导致每次都引发异常(即使转换二进制文件位于“ / usr / local / bin / convert”下)。 关于如何解决此问题的任何想法,以便我的Rails应用程序都知道该路径? 谢谢!

我不确定是否进行了系统更新或究竟发生了什么,但是我在系统上同时配置了Brew和Port。 我有两个初始化文件:

# ./other/port.conf
SetEnv PATH /opt/local/bin:/opt/local/sbin:$PATH

# ./other/brew.conf
SetEnv PATH /usr/local/bin:/usr/local/sbin:$PATH

解决办法是删除未使用的port.conf 不知道为什么这会导致Apache出现问题(我似乎还记得它过去曾经起作用)。 但是,多次调用SetEnv似乎SetEnv覆盖。

这可能不是您的特定问题,但需要检查。

Apache中有一个回归,它使SetEnv不适用于PATH 修订版965679 (2010年7月)中对此进行了修复。 如果您使用的是Apache的较旧版本,则可能会遇到此错误。

config/environments/production.rb ,您可以像这样设置环境变量:

ENV["PATH"] = "..."

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM