我已经被这个问题困扰了大约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]
或者创建一个指向该副本的符号链接。