hooks / install内でスクリプトを実行する前に環境変数を設定する方法は?


16

symfony2 webappをgitから取得してec2にデプロイするシンプルなチャームを作成しています。

gitからソースを取得した後、コンポーザーを実行して依存関係を解決したいのですが、このエラーが発生し続けます:

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を設定するにはどうすればよいですか?


私に連絡してください(私のプロフィールページのリンク)、Ubuntuでsymfonyワークフローを取得するためにあなたと協力したいと思います!
ホルヘカストロ

確かに@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 install
アミット

4
いいえ、;COMPOSER_HOMEは環境変数ではなく、単なる変数になりexport COMPOSER_HOME=${app_dir};ます。エクスポートを環境変数にする必要があります。私がやったことは、それをそのコマンドの環境変数として設定するだけです。
マルコセッピ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.