错误 phpunit 可执行文件未找到

错误 phpunit 可执行文件未找到

在 API 项目中,我们将 composer.json 设置为以下内容:

{
    "require-dev": {
        "phpunit/phpunit": "4.7.*"
    },
     "require": {
        "monolog/monolog": "1.5.*"
    }
}

第一次运行composer install一切正常。使用 调用时,Phpunit 可以正常工作vendor/bin/phpunit。我的工作机器是 Windows 7 操作系统,但是我们在这个项目中使用 git,当我从另一台机器(Kubuntu 14.04)处理这个项目时,执行 后git pull,我无法再使用 运行单元测试vendor/bin/phpunit- 它失败并显示错误,提示找不到 vendor/bin/phpunit。

在 Linux 机器上,我删除了不起作用的可执行文件 vendor/bin/phpunit,并删除了 vendor/phpunit 文件夹,然后让 composer 通过 替换它composer update。此时,我可以像以前一样再次运行单元测试。然而,这在 Windows 7 上无法无缝运行。这比较棘手。

我的问题是:通过 github 跟踪文件然后在各种操作系统上工作,我做错了吗?如果我只跟踪目录的composer.json内容并保持vendor/phpunit/phpunit目录不被跟踪(并让文件保留在其特定的操作系统上),是否可以避免此错误?谢谢,亚当。

答案1

Composer 的目的在于您只需要vendor在 repo 中有一个空的(!)目录,但跟踪composer.json(要求)和composer.lock(上次测试的特定版本)并composer install在新的开发机器上检出后运行。

(注意:composer install将根据composer.lock文件安装特定版本。composer update将安装符合中定义的要求的任何最新版本composer.json。)

然后,Composer 应该下载适合您系统的二进制文件并将其放入vendor/bin/目录中。

相关内容