如何编写排除库的多个特定版本的必需规则?
例如,我需要任何 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
复杂表达式可能需要引号。