编辑器排除特定版本



如何编写排除库的多个特定版本的必需规则?

例如,我需要任何 1.7.* 版本的库

"require": {
    "some/lib": "~1.7"
}

但是后来我发现 1.7.3 版中的库存在问题,并希望阻止安装它,这可以通过以下方式完成:

"require": {
    "some/lib": ">=1.7, <1.7.3 | >1.7.3"
}

这已经变得丑陋了。然后稍后我们发现库的另一个问题,并希望排除版本 1.7.7。尝试执行与上述相同的语法似乎很糟糕,排除特定版本的库的更好方法是什么?

TL:DR有这样的语法吗:

"require": {
    "some/lib": "~1.7, !1.7.3, !1.7.5"
}

这行得通?

当然,在询问5分钟后找到了答案:

"require": {
    "some/lib": "~1.7, !=1.7.3, !=1.7.5"
}

这在命令行上也适用于我。

composer require some/lib:!=1.7.3

复杂表达式可能需要引号。

最新更新