0

我有一个自定义的 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 应用程序知道路径?谢谢!

4

3 回答 3

1

我不确定我是否进行了系统更新或究竟发生了什么,但我在我的系统上配置了 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似乎会相互覆盖。

于 2011-02-21T18:18:34.850 回答
0

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

Apache 中有一个回归,SetEnv导致PATH. 这已在修订版 965679(2010 年 7 月)中得到修复。如果您使用的是旧版 Apache,您可能会遇到这个错误。

于 2011-02-21T02:44:02.760 回答
0

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

ENV["PATH"] = "..."
于 2011-02-21T18:22:55.693 回答