语义化版本 SemVer

发布于 2023-05-03 21:38:44 字数 1629 浏览 69 评论 0

语义化版本 SemVer(Semantic Versioning)

语义化的版本号必须采用 XYZ 格式(MAJOR.MINOR.PATCH),其中 XYZ 是非负整数,并且不得包含前导零。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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

自由如风

暂无简介

0 文章
0 评论
22 人气
更多

推荐作者

懂王

文章 0 评论 0

清秋悲枫

文章 0 评论 0

niceone-tech

文章 0 评论 0

小伙你站住

文章 0 评论 0

刘涛

文章 0 评论 0

南街九尾狐

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文