2014-02-19 2 views
0

У меня есть проект ruby ​​on rails, который работает с API из других проектов. Для разработки и тестирования мне нужно, чтобы эти другие 3 проекта выполнялись, поэтому я пытаюсь их запустить и запустить, когда я начну защищать.Выполнение задачи связки в обратном вызове Guard

Есть сценарии оболочки, которые запускают службы, поэтому я использовал защитные обратные вызовы для их запуска, но некоторые команды в сценариях оболочки не работают. Например, запуск другого сервера rails не работает. Вероятно, это не так, поскольку среда пакета отличается, и команда будет вызывать пакет в пакете (защита выполняется с помощью пакета).

Есть ли другой способ получить охрану для запуска услуг или есть способ выполнить пакет в комплекте?

ответ

0

Не уверен, если это поможет, но вы можете попробовать начать охранник без bundle exec

0

При выполнении сценариев оболочки из обратных вызовов Guard, вам нужно обернуть вызовы в Bundler.with_clean_env.

Например:

Bundler.with_clean_env { system("./start_other_app.sh") } 

Это очищает переменные окружения Bundler использует внутренне, так что вы можете запустить другое приложение в новом контексте Bundler.

Для получения более подробной информации см. http://bundler.io/v1.3/man/bundle-exec.1.html#Shelling-out.

Смежные вопросы