为什么版本约束用组合比较和通配符是个坏主意?#

==========================

这是一个人们常犯的错误,他们在包里定义了版本限制要求>=2.*>=1.1*

如果你认真思考过它的意思,你就会知道这么做没有任何意义。如果我们分析一下>=2.*,你就会发现它包含两种规则:

正如你所看到的,这两条规则都要求包版本 >= 2.0.0,但是它无法确定是否包含 3.0.0 版本。它是应该匹配呢?因为你要求包版本>=2。还是不应该匹配呢?因为你要求包版本是2.*

对于这种情况,Composer 会抛出一个错误,告诉你这是无效的。解决这种问题的简单做法是考虑清楚你的真正意图,然后使用这两条规则的其中之一。

发现了一个错字?文档中有问题吗? 只需要 fork并编辑 它!