【问题标题】:Phing can't find composer.phar on MAMP Pro, OSXPhing 在 MAMP Pro、OSX 上找不到 composer.phar
【发布时间】:2016-11-28 05:38:54
【问题描述】:

Phing 似乎无法使用标签/命令运行 C​​omposer。它似乎在当前目录中寻找 composer.phar。由于它没有将composer.phar作为命令执行,而是将字符串'composer.phar'传递给php二进制文件,因此它不能使用系统路径来查找composer.phar(除非我错了?)

如何让 Phing 正确运行 composer 而无需明确告诉它 composer.phar 在哪里?我不想这样做,因为这个构建脚本应该在任何安装了 Composer 和 Phing 的系统上运行。

我的项目有一个 build.xml 文件:

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

我在 OSX 上通过 MAMP Pro 运行 PHP,所以所有与 PHP 相关的脚本/二进制文件都在这个目录中:

/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
-rwxr-xr-x@  1 eric  staff   2988429 13 Jul 23:28 phpunit.phar

运行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

【问题讨论】:

    标签: php macos composer-php phing mamp-pro


    【解决方案1】:

    我使用 exec 声明作为解决方法:

    <exec command="composer install" />
    

    这将使用系统路径来查找作曲家脚本/phar(我已将作曲家链接到 composer.phar 并使其可执行。

    我不会将此答案标记为选择的答案,因为我相信内置的 composer 命令应该能够工作,而无需在构建文件中指定 composer.phar 的完整路径。

    【讨论】:

      【解决方案2】:

      如果你给 composer 标签添加一个空的 php 属性,只要 composer 在你的路径中,它就应该正确运行。

      <composer php="" composer="composer" command="install" />
      

      【讨论】:

        猜你喜欢
        • 2023-03-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-01
        • 1970-01-01
        • 2011-06-27
        相关资源
        最近更新 更多