简介
npm版本号遵循semver规范。版本号格式为major.minor.patch。其中major、minor、patch必须是非0的开头的非负数。
比如1.0.3,0.2.98是有效版本号,而0.1.02,1.a.0是无效版本号。此外,版本号还可以带上预发布和build metadata。
版本号的扩展
预发布
在patch后加上"-"和一串由"."连接的标识符。格式为major.minor.patch-{identifier}.{identifier}.{identifier}。
identifier必须是数字、大小写字母或连字符组成的非空字符串。比如:1.0.3-alpha.1
build metadata
在patch或预发布后面加上"+"和一串由"."连接的标识符。格式为major.minor.patch+{identifier}.{identifier}.{identifier}或者 major.minor.patch{pre-release}+{identifier}.{identifier}.{identifier}。如:1.0.3-alpha.1+001,1.0.0-beta+exp.sha.5114f85
版本号标签
常用的版本号标签有latest(默认),alpha(内测), beta (公测), next(下一个), rc( 候选), experimental(实验)。
给版本号添加标签的方式有两种。一种是在发布时指定标签,如npm publish --tag alpha
。另一个种是发布后执行命令npm dist-tag add your-npm-package@1.0.2-1 alpha
。
版本号大小比较
major.minor.patch-[pre-release]+[build-metadata]
版本号大小比较是从左到右依次比较major、minor、patch、pre-release。 build-metadata对优先级无影响 。预发布版本优先级低于正式版本,如1.0.1-alpha.1 < 1.0.1,1.0.0-alpha.1 < 1.0.0-beta < 1.0.0
例如:依次发布1.0.0-alpha.1,1.0.0-alpha.3,1.0.0-alpha.2。用户安装了1.0.0-alpha.1,此时升级版本会安装1.0.0-alpha.3。
例如:
- 用户安装了1.0.0-alpha.1(alpha),此时发布1.0.0(latest),用户升级后的版本是1.0.0(latest)。
- 用户安装了1.0.0-alpha.1(alpha),此时发布1.0.0-beta.0(beta),用户升级后的版本是1.0.0-beta.0(beta)。
- 用户安装了1.0.0(latest),此时发布2.0.0-alpha.1(alpha),用户升级后的版本不变,仍然是1.0.0(latest)。
版本号的建议
第一个稳定版本 1.0.0,第一个稳定版本之前的版本0.*.*。
版本号升级时,如果是修复bug,升级patch,如1.0.2 -> 1.0.3。如果是新增可向后兼容的新功能,升级minor,如1.0.2 -> 1.1.2。如果是新增不可向后兼容的新功能,升级major ,如1.9.9 -> 2.0.0。
测一测
以下版本号是否有效
1.0.1-x-y-z-.-
1.0.3--.-.-
1.0.3----
1.0.3--.
版本号大小比较
1.0.3--.-.-与1.0.3---
1.0.0-alpha+001与1.0.0-alpha+002
1.0.0-alpha.1与1.0.0-beta.1
答案
安装semver工具测一测
链接
semver规范
semver工具使用手册
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!