후크 / 설치 내부에서 스크립트를 실행하기 전에 환경 변수를 설정하는 방법은 무엇입니까?


16

git에서 symfony2 webapp을 가져 와서 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

내 후크 / 설치 스크립트에서 아래 명령을 사용하여 작곡가를 실행 중입니다.

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을 어떻게 설정합니까?


저에게 연락하십시오 (내 프로파일 페이지의 링크). 우분투에서 심포니 워크 플로우를 얻는 데 도움을 드리겠습니다!
Jorge Castro

물론 @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};만들면 내보내기를 통해 환경 변수로 만들어야 합니다. 내가 한 것은 단지 그 명령에 대한 환경 변수로 설정하는 것 입니다.
Marco Ceppi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.