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?