Semantic Versioning 匹配
Semantic Versioning 直译为语义化版本,格式为 MAJOR.MINOR.PATCH
,比如 1.2.3
代表第一主版本第二次版本第三补丁修正版,版本号唯一且可比较,更多信息参考官网介绍。
在 Node.js package.json
或 Bower bower.json
就是用 semver 做版本检查。记个笔记,假设当前最新版是 1.2.5:
1.2.3
明确指定版本,需完全匹配,安装的版本就是1.2.3
.>1.2.3
大于指定版本,匹配符合条件的最新版1.2.5
.<1.2.3
小于指定版本,匹配符合条件的最新版1.2.2
.<=1.2.3
可以包括补丁修正测试版,比如1.2.3-beta
,1.2.3 - 2.3.4
等同于>=1.2.3 <=2.3.4
.~1.2.3
接近于 1.2.3 的版本,等同于>=1.2.3-0 <1.3.0-0
,也就是相同主版本,相同次版本,补丁修正大于等于所需版本均符合。这种情况是实际使用中最多的,保持最大的兼容性.~1.2
等同于>=1.2.0-0 <1.3.0-0
,相同主版本、相同次版本均符合,等于1.2.x
。~1
等同于>=1.0.0-0 <2.0.0-0
,相同主版本均可,等于1.x
.*
任意版本,会匹配当前可用的最新版1.2.5
.1.2.3 || 1.3.2
哪个满足取哪个,如果两者均符合取第二个。
主要就是 ~
匹配的使用,一般就用 ~1.2.3
,保持次版本内最新,又保持最大兼容性。
Was this page helpful?