composer包版本命名及限定规则

2017-10-23  本文已影响0人  小小布谷鸟

版本命名规则:

[name].x.y.z-[state]

name为可选字段,一般为v,表示 version

x.y.z为各版本的序号,遵循语义化版本命名规范

实际上基于此规范,不应该在版本前出现 name 字段.

state可选字段,表示版本状态,例如b表示 beta 测试版,其他常见状态,后有详述

x、y、z含义

0.y.z表示开发阶段,一切可能随时改变,非稳定版。

1.0.0界定此版本为初始稳定版,后面的一切更新都基于此版本进行修改。

版本限定的语法简述为为[范围描述]<版本号描述>

范围描述,可选,必须配和版本描述确定范围,无法独立存在

<小于某一版本号

<=小于等于某一版本号

>大于某一版本号

>=大于等于某一版本号

=等于某一版本号,没有意义和直接写该版本号一样

~基于版本号描述的最新补丁版本

^基于版本号描述的最新兼容版本

-某个范围,他应该出现在两个版本描述中间,实际上语法应为<版本描述>-<版本描述>,写在此处为了统一

严格来讲对~,^的表述需要结合具体的包管理工具和版本号规则来确定.但是对于一般使用记住如下原则.

^是确保版本兼容性时,默认对次版本号的限定约束

~是确保版本兼容性时,默认对补丁号的约束

利用^,~的意义在于确保工具包对依赖版本的兼容性,排除主版本更迭,造成依赖失效的可能.

版本描述:

*通配符,类似glob模式*

x,X约等于*号,通常用于次版本和补丁的通配.

0.x警惕这种版本,说明该依赖还未稳定(如果它遵守语义化命名的话),此外由于0.x版本随时可能改变,此时^,~的都表示为对补丁版的限制.

https://segmentfault.com/a/1190000011368506

https://segmentfault.com/q/1010000006210480/a-1020000006210930

http://docs.phpcomposer.com/01-basic-usage.html#Package-Versions

上一篇 下一篇

猜你喜欢

热点阅读