【发布时间】:2016-01-29 04:26:06
【问题描述】:
我已经坚持了大约 4 小时。我正在尝试对我的 Laravel 5 项目进行一些测试。当我最后一次运行它们时,它们工作了一个月左右,但我想再次运行它们。仅供参考,我正在使用 Vagrant。
这是我的 composer.json 文件中的一个 sn-p。
"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命令 - 重新加载 vagrant
- 更改版本(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() 显示相同的内容。
有什么想法吗?
【问题讨论】:
-
假设您使用的是 Linux 或 Mac,请尝试运行
which phpunit。您可能有不止一个副本在弹跳。 -
啊,是的,抱歉 - 正在运行 mac。 which phpunit 返回 "/usr/bin/phpunit"... 啊——这就是它找不到我的 /vendor/phpunit 的原因!?
-
好的,看来我可以通过 "./vendor/phpunit/phpunit/phpunit" 执行供应商版本。感谢@EdCottrell 的提示
标签: php laravel phpunit vagrant composer-php