~(波浪号)是Composer中“最小上限”版本约束,允许升级补丁和小版本但不跨主版本,如~1.2等价于>=1.2.0

在 Composer 中,~(波浪号)版本约束是一种“最小上限”策略,它允许在保持向后兼容的前提下自动升级补丁和小版本,但不会跨主版本升级。它的核心逻辑是:只允许更新到“不会破坏现有 API”的最高版本。
~ 约束的匹配规则
~1.2 等价于 >=1.2.0 —— 它允许所有 1.x 的版本,但禁止升级到 2.0 及以上。<br><code>~1.2.3 等价于 >=1.2.3 —— 它只允许 1.2.x 范围内的更新(如 1.2.4、1.2.10),但不会升到 1.3.0。
为什么它适合保障向后兼容
PHP 社区普遍遵循 语义化版本(SemVer):主版本(X)变更表示不兼容的 API 修改,次版本(Y)增加向后兼容的新功能,修订版(Z)仅修复 bug。~ 正是利用这一约定,把升级范围控制在“不改变主版本号 + 不突破次版本边界(当指定了 Z 时)”内,从而天然适配向后兼容场景。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~