在hooks / install中运行脚本之前如何设置环境变量?


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

我正在使用我的hooks / install脚本中的以下命令来运行composer

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,以便可以执行此命令?


请与我联系(我个人资料页面中的链接),我很乐意与您一起在Ubuntu中获取symfony工作流!
Jorge Castro

当然,@ JorgeCastro,一旦我的魅力完成,我会给您发送电子邮件。
阿米特

Answers:


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 install
Amit

4
不,;不会将COMPOSER_HOME设为环境变量,而只是将其设为变量,您需要export COMPOSER_HOME=${app_dir};将export设为环境变量。我所做的只是把它作为一个环境变量只是该命令。
Marco Ceppi
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.