【问题标题】:PHPUnit version does not match version in ComposerPHPUnit 版本与 Composer 中的版本不匹配
【发布时间】:2017-08-03 13:54:03
【问题描述】:

我正在尝试更新我的 phpunit 版本,但它似乎不适用于常规的 composer install

我的composer.json文件如下:

{
    "require": {
        ...
    },
    "require-dev": {
        "phpunit/phpunit": "4.*",
        "phpunit/php-invoker": "^1.1",
        "phpunit/dbunit": "^2.0"
    }
}

并将作曲家installupdate 作为php composer.phar installphp composer.phar update 运行(我没有全局安装作曲家,这可能是问题吗?)我明白了

Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update

当我查看 phpunit 版本时,我得到了

$ phpunit --version
PHPUnit 3.7.28 by Sebastian Bergmann.

我的 PHP 版本是 5.6,这似乎排除了 this very similar issue 的解决方案。

我最好的猜测是安装了一个全球版本的 phpunit 并覆盖了我的本地版本。但我无法找到任何指导来解决这个问题,而无需对全球环境的其他部分进行太多更改。

【问题讨论】:

  • 是的,你已经安装了一个全局 phpunit,你必须在你的 repo/Composer 之外升级它。 Composer 安装的那个位于vendor/bin/phpunit(如果你喜欢,可以直接使用)。
  • @ceejayoz 那么有没有办法运行phpunit 的本地版本呢?提前致谢。
  • 当然,只需在您的命令中使用vendor/bin/phpunit 而不是phpunit(假设您已经cd 进入存储库)。 vendor/bin/phpunit --version
  • 知道了。我遇到了/vendor/phpunit/phpunit/phpunit 的一个小权限问题,我无法从vendor/bin/phpunit 执行,但是在调整了这些权限之后,我现在可以正常运行了。谢谢!

标签: php phpunit composer-php


【解决方案1】:

该命令本身phpunit 将在您的shell 路径中搜索PHPUnit 可执行文件。 composer install 会将其放入 composer bin 目录,默认为 vendor/bin。您可以使用./vendor/bin/phpunit 直接执行脚本,或者让composer 为您执行它,使用composer exec phpunit 为您的项目解析正确的路径

【讨论】:

  • composer exec phpunit 脚本 phpunit 处理返回的 __exec_command 事件,错误代码为 255
猜你喜欢
  • 1970-01-01
  • 2011-10-31
  • 1970-01-01
  • 2018-05-26
  • 1970-01-01
  • 2023-01-25
  • 2021-07-11
  • 2021-09-15
  • 1970-01-01
相关资源
最近更新 更多