¿Cómo establecer la variable de entorno antes de ejecutar el script dentro de ganchos / instalación?

16

Estoy creando un encanto simple para obtener mi aplicación web symfony2 de git y desplegarla en ec2.

Después de obtener la fuente de git, quiero ejecutar composer para resolver dependencias, pero sigo recibiendo este error:

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

Estoy ejecutando el compositor usando el siguiente comando dentro de mis ganchos / script de instalación

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

También intenté

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

¿Cómo puedo configurar HOME o COMPOSER_HOME para que se pueda ejecutar este comando?

Amit
fuente
Comuníquese conmigo (enlace en mi página de perfil), ¡me encantaría trabajar con usted para obtener un flujo de trabajo de Symfony en Ubuntu!
Jorge Castro
Claro @JorgeCastro, te enviaré un correo electrónico una vez que mi encanto esté completo.
Amit el

Respuestas:

20

HOME no está configurado en los ganchos de Juju, solo unas pocas variables de entorno lo están.

Deberías poder correr

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

que establecerá la variable de entorno antes de ejecutar php.

Marco Ceppi
fuente
Gracias Marco. Eso funciono. Estaba intentando algo similar pero estaba dando; antes de php, eso también debería haber funcionado. COMPOSER_HOME = $ {app_dir}; / usr / bin / php composer.phar install
Amit el
44
No, ;no hará que COMPOSER_HOME sea una variable de entorno, solo una variable. Necesitaría que export COMPOSER_HOME=${app_dir};la exportación la convierta en una variable de entorno. Lo que he hecho es configurarlo como una variable de entorno solo para ese comando.
Marco Ceppi