无法像"PHPUnit requires PHP 5.6"所说的那样运行 PHPUnit,但我安装了 4.2



我已经被这个问题困扰了大约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。

我已经尝试了下面的-所有这些都是通过谷歌和堆栈溢出找到的。

  • composer clear-cache命令
  • 重装游民
  • 更改版本(4.0、~4.0、4.8、4.1.*)
  • "缓存文件ttl":0添加到我的composer.json

在下面的所有输入中返回关于PHP 5.6 的相同错误消息

  • phpunit—检查版本
  • phpunit—自我更新
  • php单元

就其价值而言,/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()也显示了同样的情况。

你知道这里发生了什么吗?

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

which phpunit

正如你上面的评论所证实的,你没有使用项目文件夹中的那个,所以你需要用启动phpunit

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

或者创建一个指向该副本的符号链接。

相关内容

  • 没有找到相关文章