PHPUnit - 版本3.7.21而不是版本6安装

Bla*_*ack 4 php phpunit

我按照官方PHPUnit页面上的说明安装PHPUnit 6.

composer require --dev phpunit/phpunit ^6.0
Run Code Online (Sandbox Code Playgroud)

但是,如果我转到项目文件夹并执行,phpunit --version那么我得到PHPUnit 3.7.21 by Sebastian Bergmann..

为什么安装PHPUnit 3.7.21而不是PHPUnit 6?

Gou*_*jon 15

我想你安装了xampp?它附带预装PEAR的PHPUnit 3.xx,奇怪的是无法卸载pear uninstall.并且由于它的配置在php根文件夹中,因此在CMD或PS中运行phpunit命令(即使你已经全局安装了phpunit)时,该3-ish版本具有优先级.怎么修:

  1. 转到xampp/php文件夹并删除两个文件phpunit(没有扩展名)和phpunit.bat.通常它足以防止运行较旧的PHPUnit版本,但让我们处于更安全的一面:
  2. 转到xampp/php/PEAR目录并删除两个文件夹PHPUnitPHPUnit2.
  3. 转到"控制面板",然后导航System and Security->System并单击左侧的"高级系统设置"链接.这将在"系统属性"窗口中打开"高级"选项 单击"环境变量"按钮,然后在"系统变量"下选择"路径"变量并单击"编辑..."按钮.在新窗口中,单击"新建"按钮并键入vendor/bin文件夹的路径(如果已经为项目安装了PHPUnit,则会有phpunit.bat文件).默认情况下,xamp看起来像这样:C:\xampp\htdocs\yourprojectname\vendor\bin.
    1. 重新启动命令提示符(或PowerShell)窗口,然后键入phpunit --version以查看它现在是PHPUnit 6.xx.

PS(如果你想要最新的PHPUnit不要在require字符串中使用^ 6.0,因为它将安装v6.0.0,将它写在composer.lock文件中,它永远不会将PHPunit更新到最新的例如6.2.1版本的atm).只是用

composer require --dev phpunit/phpunit
Run Code Online (Sandbox Code Playgroud)

为您的项目安装最新的稳定版本.


Ren*_*hle 6

您运行安装在另一个文件夹中的全局 PHPUnit 版本。要获取已安装的版本,您必须转到该vendor/bin文件夹。

vendor/bin/phpunit --version
PHPUnit 6.0.8 by Sebastian Bergmann and contributors.
Run Code Online (Sandbox Code Playgroud)

在较新的版本中,您可以运行它,bin/phpunit应该有可执行文件。当您需要另一个 PHP 版本时,请在php74 bin/phpunit.