2016-07-25 7 views
1

Phingは、タグ/コマンドを使用してComposerを実行できないようです。現在のディレクトリでcomposer.pharを探すようです。 composer.pharをコマンドとして実行するのではなく、 'composer.phar'という文字列をPHPのバイナリに渡す代わりに、システムパスを使用してcomposer.pharを見つけることはできません(私が間違っていない限り)(0123)。 composer.pharがどこにあるのかを明示的に知らせることなく、Phingを作曲者が正しく動かせるようにするにはどうすればよいですか?このビルドスクリプトは、ComposerとPhingがインストールされているシステムで実行する必要があるため、私はそれをしたくありません。MAMP Pro、OSXでphingがcomposer.pharを見つけることができません

私のプロジェクトは、build.xmlファイルがあります。

/Applications/MAMP/bin/php/php7.0.0/bin 

# ls -al /Applications/MAMP/bin/php/php7.0.0/bin 
total 120544 
drwxrwxr-x 18 eric admin  612 25 Jul 10:14 . 
drwxrwxr-x 8 eric admin  272 12 Jul 09:46 .. 
-rwxr-xr-x 1 eric admin 1705349 14 Jul 19:40 composer 
lrwxr-xr-x 1 eric admin   8 25 Jul 10:14 composer.phar -> composer 
-rwxrwxr-x 1 eric admin  942 9 Dec 2015 pear 
-rwxrwxr-x 1 eric admin  963 9 Dec 2015 peardev 
-rwxrwxr-x 1 eric admin  879 9 Dec 2015 pecl 
lrwxr-xr-x 1 eric admin   9 15 Dec 2015 phar -> phar.phar 
-rwxrwxr-x 1 eric admin  14854 9 Dec 2015 phar.phar 
-rwxr-xr-x 1 eric admin  797 25 Jul 09:12 phing 
-rwxrwxr-x 1 eric admin 18944064 9 Dec 2015 php 
-rwxrwxr-x 1 eric admin 18850440 9 Dec 2015 php-cgi 
-rwxrwxr-x 1 eric admin  4126 9 Dec 2015 php-config 
-rwxrwxr-x 1 eric admin 19149192 9 Dec 2015 phpdbg 
-rwxrwxr-x 1 eric admin  4627 9 Dec 2015 phpize 
lrwxr-xr-x 1 eric admin  12 13 Jul 23:29 phpunit -> phpunit.phar 
[email protected] 1 eric staff 2988429 13 Jul 23:28 phpunit.phar 

:私はすべてのPHP関連のスクリプト/バイナリは、このディレクトリにあるOSX上のプロMAMPを通じてPHPを実行しています

<?xml version="1.0" encoding="UTF-8"?> 
<project name="my-awesome-app" default="build" basedir="."> 
    <target name="build"> 
     <composer command="install"></composer> 
    </target> 
</project> 

をphingの実行結果は次のとおりです。

# phing 
Buildfile: /Users/eric/Development/php/phpstorm/my-awesome-app/build.xml 

my-awesome-app > build: 

[composer] executing /Applications/MAMP/bin/php/php7.0.0/bin/php composer.phar install 

BUILD FAILED 
/Users/eric/Development/php/phpstorm/my-awesome-app/build.xml:4:8: Composer binary not found, path is "composer.phar" 
Total time: 0.0980 seconds 

答えて

0

私は回避策として回避宣言を使用しています:

これは、コンポーザスクリプト/ pharを見つけるためにシステムパスを使用します(コンポーザをcomposer.pharにリンクして実行可能にしました)。

ビルドされたcomposerコマンドは、ビルドファイル内のcomposer.pharへのフルパスを指定しなくても動作するはずです。

0

コンポーザータグに空のphp属性を追加すると、パスにコンポーザーがある限り正しく動作します。

<composer php="" composer="composer" command="install" /> 
関連する問題