Как установить переменную окружения перед запуском скрипта в hooks / install?

16

Я создаю простой талисман, чтобы получить мое приложение symfony2 от git и развернуть его на ec2.

После получения исходного кода из git я хочу запустить composer для разрешения зависимостей, но продолжаю получать эту ошибку:

INFO juju context.go:221 worker/uniter: HOOK   The HOME or COMPOSER_HOME environment variable must be set for composer to run correctly

Я запускаю composer используя команду ниже в моем скрипте hooks / install

juju-log "Running composer"
/usr/bin/php composer.phar install

Я тоже пробовал

juju-log "Running composer"
COMPOSER_HOME=${app_dir};/bin/bash -c "/usr/bin/php composer.phar install"

Как я могу установить HOME или COMPOSER_HOME, чтобы эта команда могла быть выполнена?

Amit
источник
Пожалуйста, свяжитесь со мной (ссылка на странице моего профиля), я хотел бы поработать с вами над получением рабочего процесса Symfony в Ubuntu!
Хорхе Кастро
Конечно @JorgeCastro, я напишу вам по электронной почте, как только мой шарм будет завершен.
Амит

Ответы:

20

HOME не устанавливается в хуках Juju, только несколько переменных окружения.

Вы должны быть в состоянии просто бежать

COMPOSER_HOME="/path/you/want/to/be/home" php composer.phar install

который установит переменную окружения перед выполнением php.

Марко Чеппи
источник
Спасибо Марко. Это сработало. Я пробовал подобное, но давал; до php это тоже должно было сработать. COMPOSER_HOME = $ {app_dir}; / usr / bin / php composer.phar установить
Amit
4
Нет, это ;не сделает COMPOSER_HOME переменной среды, просто переменной. Вам понадобится export COMPOSER_HOME=${app_dir};экспорт, который сделает ее переменной среды. То , что я сделал это просто установить его в качестве переменной окружения для всего этой команды.
Марко Чеппи