Composer版本约束`> = N.N.N`

时间:2019-06-07 08:39:59

标签: composer-php

以下composer软件包管理器版本限制允许的PHP最高版本是什么?

 "php": "^5.5.9|>=7.0.8"

The docs说:-

  • ^5.5.9的意思是>=5.5.9 <6.0.0(阅读:“大于或等于5.5.9 AND 小于6.0.0)

  • |可能与||相同,这表示 OR

但是>=7.0.8扩展到什么?在stability section中,文档说

  

根据所使用的运算符,Composer在内部默认为-dev-stable

并举例说明>=1.2在内部被视为>=1.2.0.0-dev,但没有说明如何处理>=1.2.0。还不清楚这是否是一个开放式约束。

那么约束条件是否允许PHP 7.0.8或更高版本?是否仅允许7.0.8或更高版本但低于8.0.0的版本?是否允许-dev?它会允许8.0-dev吗?

1 个答案:

答案 0 :(得分:2)

  

“ php”:“> = 7.0.8”

将表示高于或等于7.0.8的任何内容,是8.0.0

来自作曲家文档:

  

“供应商/包装”:“> = 1.3.2”,//大于或等于1.3.2的任何内容

我认为文档说得很清楚;)
请注意,php不是composer存储库中的实际软件包。

测试您的包裹,例如使用此工具:
https://semver.mwl.be/#?package=sensio%2Fframework-extra-bundle&version=%3E%3D3.0.2&minimum-stability=stable

我猜是否版本约束设置为1.3.2并且仅1.3.2-dev可用-将使用此约束。当还存在一个1.3.2-stable / 1.3.2时,它将采用那个。