语义版本解析器

Updated: 2026-07-12
广告位 - 顶部 (728x90)

版本号解析

输入语义化版本号(SemVer),解析其组成部分。格式:MAJOR.MINOR.PATCH[-预发布][+构建元数据]

快捷:
--
主版本号 (MAJOR)
--
次版本号 (MINOR)
--
修订号 (PATCH)
--
预发布版本
--
构建元数据

版本比较

比较两个语义化版本号,查看哪个版本更新。

广告位 - 底部 (728x90)

📖 版本规范说明

格式:MAJOR.MINOR.PATCH[-预发布][+构建元数据]

MAJOR:不兼容的API修改(如1.0→2.0意味着破坏性变更)。

MINOR:向下兼容的功能新增(如1.2→1.3新增功能但不破坏现有API)。

PATCH:向下兼容的问题修正(如1.2.3→1.2.4修复bug)。

^符号:允许MINOR和PATCH更新(^1.2.3 = >=1.2.3 <2.0.0)。

~符号:只允许PATCH更新(~1.2.3 = >=1.2.3 <1.3.0)。

❓ 常见问题

什么是语义化版本(SemVer)?

语义化版本(Semantic Versioning,简称SemVer)是一种版本号命名规范,格式为 MAJOR.MINOR.PATCH。MAJOR:不兼容的API修改;MINOR:向下兼容的功能新增;PATCH:向下兼容的问题修正。可选后缀包括预发布版本(如-alpha.1)和构建元数据(如+build.2024)。

^和~符号代表什么?

在npm中,^(caret)允许更新到不改变最左边非零数字的版本。例如^1.2.3表示>=1.2.3 <2.0.0。~(tilde)只允许修订号更新,例如~1.2.3表示>=1.2.3 <1.3.0。这是npm package.json中最常用的版本范围符号。

如何比较两个语义版本?

比较规则:先比较主版本号,大的版本更新;如果相同就比较次版本号;再相同比较修订号。有预发布后缀的版本通常小于正式版本(如1.0.0-alpha < 1.0.0)。构建元数据不影响版本优先级。本工具的版本比较功能可以直观显示哪个版本更新。