composer.json应该根据php版本使用不同的包版本

时间:2015-12-10 19:20:10

标签: php composer-php travis-ci

travis-ci允许在某些PHP版本上运行 phpunit

问题是我的composer.json需要phpunit/phpunit=~4.8,而 phpunit 4.8.20 声明不支持 PHP 7.0 + 了。此PHP版本应使用 PHP 5.6 + 支持的phpunit/phpunit=~5.1

我的包需要在 PHP 5.4 + 上运行。

我可以通过不支持 PHP 5.4 PHP 5.5 来解决这个问题,但所有测试都适用于此版本,而在我的国家/地区此版本尚未 em>被很多主机使用。

我认为可以做类似的事情:

"phpunit/phpunit": "if php < 7 then ~4.8 else ~5.1"

也许config.platform帮帮我?我无法理解它是如何运作的。

1 个答案:

答案 0 :(得分:3)

您可以在Composer中制作或要求。如果你想说PHPUnit可以在版本4.8或5.x中使用,那就是:

"phpunit/phpunit": "~4.8|~5.0"

您必须在构建脚本中运行update,但Composer会根据它检测到的PHP版本来计算它。

您有责任保持测试与任一版本的兼容性,但Travic很快就会检测到失败,不是吗?