无法运行PHPUnit,因为它说“PHPUnit需要PHP 5.6”,但我安装了4.2

时间:2015-10-29 06:25:53

标签: php laravel phpunit vagrant composer-php

我现在已经坚持了4个小时左右。我正在尝试对我的Laravel 5项目进行一些测试。他们工作了一个月左右,我最后一次运行它们,但我想再次运行它们。仅供参考,我正在使用Vagrant。

这是我的composer.json文件的一个片段。

"require": {
    "laravel/framework": "5.0.*",
    "illuminate/html": "^5.0",
    "doctrine/dbal": "~2.5",
    "maatwebsite/excel": "~2.0.0",
    "zizaco/entrust": "dev-laravel-5",
    "kalnoy/nestedset": "^3.0"
},
"require-dev": {
    "phpunit/phpunit": "4.2.*",
    "phpspec/phpspec": "~2.1"
},

但每当我通过终端运行phpunit时,它都会说明

  

此版本的PHPUnit需要PHP 5.6;强烈建议使用最新版本的PHP。

我已尝试过以下内容 - 全部通过Google和Stack Overflow找到。

  • composer clear-cache命令
  • 重新加载流浪汉
  • 更改版本(4.0,~4.0,4.8,4.1。*)
  • “cache-files-ttl”:0 添加到我的composer.json

输入以下内容都会返回有关PHP 5.6的相同错误消息

  • phpunit --check-version
  • phpunit --self-update
  • PHPUnit的

对于它的价值,/vendor/phpunit/composer.json显示

"require": {
    "php": ">=5.3.3",
    ...
}
...
"extra": {
    "branch-alias": {
        "dev-master": "4.2.x-dev"
    }
},

另外,调用php -v显示“PHP 5.4.45(cli)(建立时间:2015年9月4日15:40:44)”。 phpinfo()显示了同样的事情。

有什么想法在这里发生了什么?

1 个答案:

答案 0 :(得分:1)

您的系统上有多个phpunit副本。在终端中运行此命令将告诉您路径中的哪一个:

which phpunit

正如您上面的评论所证实的那样,您没有使用项目文件夹中的那个,因此您需要使用

启动phpunit
./vendor/phpunit/phpunit/phpunit [rest of command]

或为该副本创建符号链接。