如何通过Composer的prefer-stable配置来指定包的最小稳定版本?
- 内容介绍
- 文章标签
- 相关推荐
本文共计814个文字,预计阅读时间需要4分钟。
prefer-stable 不是开启,minimum-stability 才是门槛;仅配置 prefer-stable,而不设 minimum-stability,在 Composer 2.2+ 中等效于 minimum-stability: stable。
minimum-stability 决定哪些版本有“入场资格”
它是一个过滤器,不是排序器。Composer 按 stable > RC > beta > alpha > dev 的优先级对所有可用版本打分,然后只保留 ≥ 该值的版本进入候选池。
-
"minimum-stability": "stable"→ 只考虑带正式版本号(如3.5.0)或@stable标记的包;dev-main、2.0.0-beta1直接被筛掉 -
"minimum-stability": "beta"→3.0.0-RC2和2.9.0都能进池子,但dev-main仍被拒 - 它默认作用于所有未显式标注稳定性的依赖;一旦你在
require里写了"monolog/monolog": "dev-main",这条规则就被绕过
prefer-stable 只在候选池里“挑更稳的那个”
它不扩大或缩小候选池,只影响池内多个满足约束的版本之间的排序。
本文共计814个文字,预计阅读时间需要4分钟。
prefer-stable 不是开启,minimum-stability 才是门槛;仅配置 prefer-stable,而不设 minimum-stability,在 Composer 2.2+ 中等效于 minimum-stability: stable。
minimum-stability 决定哪些版本有“入场资格”
它是一个过滤器,不是排序器。Composer 按 stable > RC > beta > alpha > dev 的优先级对所有可用版本打分,然后只保留 ≥ 该值的版本进入候选池。
-
"minimum-stability": "stable"→ 只考虑带正式版本号(如3.5.0)或@stable标记的包;dev-main、2.0.0-beta1直接被筛掉 -
"minimum-stability": "beta"→3.0.0-RC2和2.9.0都能进池子,但dev-main仍被拒 - 它默认作用于所有未显式标注稳定性的依赖;一旦你在
require里写了"monolog/monolog": "dev-main",这条规则就被绕过
prefer-stable 只在候选池里“挑更稳的那个”
它不扩大或缩小候选池,只影响池内多个满足约束的版本之间的排序。

