วิธีการตั้งค่าตัวแปรสภาพแวดล้อมก่อนที่จะเรียกใช้สคริปต์ภายใน hooks / install?


16

ฉันสร้างเครื่องรางง่ายๆเพื่อรับ symfony2 webapp จากคอมไพล์และปรับใช้กับ ec2

หลังจากได้รับแหล่งที่มาจากคอมไพล์ฉันต้องการเรียกใช้ผู้แต่งเพื่อแก้ไขการอ้างอิง แต่ฉันได้รับข้อผิดพลาดนี้:

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

ฉันใช้ผู้แต่งโดยใช้คำสั่งด้านล่างใน hooks / สคริปต์ของฉันติดตั้ง

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 เพื่อให้สามารถใช้คำสั่งนี้ได้อย่างไร


กรุณาติดต่อฉัน (ลิงค์ในหน้าโปรไฟล์ของฉัน) ฉันชอบที่จะทำงานร่วมกับคุณในการรับเวิร์กโฟลว์ symfony ใน Ubuntu!
Jorge Castro

แน่นอน @ JorgeCastro ฉันจะส่งอีเมลถึงคุณเมื่อเสน่ห์ของฉันเสร็จสมบูรณ์
Amit

คำตอบ:


20

HOME ไม่ได้ตั้งค่าไว้ใน Juju hooks มีเพียงตัวแปรสภาพแวดล้อมเพียงเล็กน้อยเท่านั้น

คุณควรจะสามารถทำงานได้

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.