Apache и Ruby on Rails PATH - PullRequest
       20

Apache и Ruby on Rails PATH

0 голосов
/ 21 февраля 2011

У меня есть собственные инициализаторы 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-приложения знали о пути? Спасибо!

Ответы [ 3 ]

1 голос
/ 21 февраля 2011

Я не уверен, что сделал обновление системы или что именно произошло, но в моей системе были настроены 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, похоже, перезаписывают друг друга.

0 голосов
/ 21 февраля 2011

В config/environments/production.rb вы можете установить переменные окружения следующим образом:

ENV["PATH"] = "..."
0 голосов
/ 21 февраля 2011

Это может быть не вашей конкретной проблемой, но это что-то проверить.

В Apache была регрессия, из-за которой SetEnv не работал для PATH. Это было исправлено в ревизии 965679 (июль 2010 г.). Если вы используете более старую установку Apache, возможно, вы столкнулись с этой ошибкой.

...