语义化版本 SemVer
语义化版本 SemVer(Semantic Versioning)
语义化的版本号必须采用 XYZ
格式(MAJOR.MINOR.PATCH),其中 X
,Y
和 Z
是非负整数,并且不得包含前导零。X
是主要版本(主版本号),Y
是次要版本(次版本号),Z
是补丁版本(修订号)。每个元素必须在数值上增加。
如:1.2.3
主要版本 1,次要版本 2,补丁版本 3
a. 主要版本更新:表示一个破坏兼容性的大变化;
b. 次要版本更新:表示不会破坏任何内容的新功能;
c. 补丁版本更新:表示不会破坏任何内容的错误修复。
换句话说:错误修复不影响 API 增加补丁版本,向后兼容的 API 添加或更改增加次要版本,向后不兼容的 API 更改增加主要版本
Q: v1.2.3
是语义版本吗?
A:这不是语义版本。但是,在语义版本前添加 v
前缀是一种常用方式(英文),表示它是版本号。通过版本控制经常可以看到将 version
缩写为 v
。示例: git tag v1.2.3 -m "Release version 1.2.3"
,在这种情况下,v1.2.3
是标记名称,语义版本是 1.2.3
。
当您使用 npm 安装包(并保存它)时,会在 package.json
中添加一个包含包名称和应该使用的 semver 的条目。默认情况下,npm 安装最新版本,并预先插入版本号,例如 ^1.2.12
,这表示至少应该使用版本 1.2.12
,但任何高于此版本的版本都可以,只要它具有相同的主要版本,由于次要版本和补丁编号仅代表错误修正和非破坏性添加, 你可以安全地使用任何更高版本的同一主要版本。阅读更多关于 semver 通配符的信息,请看 这里。
指定版本号
:如 "classnames": "2.2.5"
,表示安装 2.2.5
的版本。
~版本号
:如 "babel-plugin-import": "~1.1.0"
,表示安装 1.1.x
的最新版本(不低于 1.1.0
),但是不安装 1.2.x
,也就是说安装时不改变大版本号和次要版本号。
^版本号
:如 "antd": "^3.1.4"
,表示安装 3.1.4
及以上的版本,但是不安装 4.0.0
,也就是说安装时不改变大版本号。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论