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

时间:2017-03-09 13:00:51

标签: php phpunit

我按照official PHPUnit page上的说明安装PHPUnit 6。

if(index == hasFeature && val == false){
  console.log(index + " : " + val);
  //Need to remove object from allThe Characters
  //allTheCharactersComp = allTheCharactersComp.splice(index, 1);
  allTheCharactersComp.splice(index, 1);
}

但是,如果我转到项目文件夹并执行composer require --dev phpunit/phpunit ^6.0 ,那么我会得到phpunit --version

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

3 个答案:

答案 0 :(得分:15)

我想你安装了xampp?它带有预装PEAR的PHPUnit 3.x.x,奇怪的是无法用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.x.x.
  4. P.S。 (如果你想要最新的PHPUnit,请不要在require字符串中使用^ 6.0,因为它将安装v6.0.0,将它写在composer.lock文件中,该文件永远不会将PHPunit更新到最新的例如6.2.1版本的atm)。只需使用

    composer require --dev phpunit/phpunit
    

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

答案 1 :(得分:3)

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

vendor/bin/phpunit --version
PHPUnit 6.0.8 by Sebastian Bergmann and contributors.

答案 2 :(得分:0)

如果您使用XAMPP,为什么不将全局PHPUnit的XAMPP版本更新为所需的版本。

1。 阅读这篇文章,该文章快速说明了如何做: StackOverflow post

2。 您可以在此处获取所需版本的phar文件: proper PHPUnit phar file

3。 您需要哪个版本的PHPUnit取决于您的PHP版本,您可以在此处进行标识: which phar file version you need

只需单击以下链接:PHPUnit 9-PHPUnit 8-PHPUnit 7-PHPUnit 6-PHPUnit 5-PHPUnit 4,并阅读说明以说明适用于哪个PHP版本。