Bagaimana cara mengatur variabel lingkungan sebelum menjalankan skrip di dalam kait / instal?

16

Saya membuat pesona sederhana untuk mendapatkan webapp symfony2 saya dari git dan menyebarkannya di ec2.

Setelah mendapatkan sumber dari git, saya ingin menjalankan komposer untuk menyelesaikan dependensi tetapi saya terus mendapatkan kesalahan ini:

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

Saya menjalankan komposer menggunakan perintah di bawah ini di dalam skrip kait / instal saya

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

Saya juga mencoba

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

Bagaimana saya dapat mengatur HOME atau COMPOSER_HOME sehingga perintah ini dapat dieksekusi?

Amit
sumber
Silakan hubungi saya (tautan di halaman profil saya), saya ingin bekerja sama dengan Anda untuk mendapatkan alur kerja symfony di Ubuntu!
Jorge Castro
Tentu @JorgeCastro, saya akan mengirim email kepada Anda setelah pesonaku selesai.
Amit

Jawaban:

20

HOME tidak diatur dalam kait Juju, hanya beberapa variabel lingkungan.

Anda harus bisa lari saja

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

yang akan mengatur variabel lingkungan sebelum menjalankan php.

Marco Ceppi
sumber
Terima kasih Marco. Itu berhasil. Saya berusaha serupa tetapi memberi; sebelum php, itu seharusnya juga berfungsi. COMPOSER_HOME = $ {app_dir}; / usr / bin / php composer.phar install
Amit
4
Tidak, ;itu tidak akan menjadikan COMPOSER_HOME variabel lingkungan, hanya variabel, Anda perlu export COMPOSER_HOME=${app_dir};ekspor menjadikannya variabel lingkungan. Apa yang saya lakukan hanyalah mengaturnya sebagai variabel lingkungan untuk hanya perintah itu.
Marco Ceppi