这个工具有问题吗?

关于「Semver Compare Online」

该工具比较两个 SemVer(语义版本控制)版本——如 1.2.3 与 1.3.0-beta——并告诉您哪个更新、相差多少,以及什么类型的更改将它们分开(major、minor、patch、prerelease)。

SemVer 是库、包和 API 的标准版本控制方案。它表示更改的影响:主版本升级破坏兼容性,次版本添加功能,补丁修复错误,预发布标签标记不稳定的构建。正确读取 SemVer 对升级依赖关系至关重要。

该工具严格遵循 SemVer 2.0 规范,包括预发布排序规则。在规划版本升级、比较 CI/CD 中的发布标签或构建需要评估版本约束的依赖工具时非常有用。

如何使用这个工具

如何比较两个 SemVer 版本号

  1. 输入两个版本

    「Version A」与「Version B」分别接受形如 `1.2.3` 的 SemVer 字符串。前导 `v` 会被去掉,缺省 patch 默认为 0(`1.2` 解析为 `1.2.0`)。pre-release/build 元数据会被忽略,只比较 major/minor/patch。

  2. 点击运行

    结果只有 `cmp`:A < B → -1,相等 → 0,A > B → 1。比较按位进行:先 major,再 minor,最后 patch。

  3. 示例

    `1.0.0` vs `1.0.1` → cmp -1。`2.0.0` vs `1.99.99` → cmp 1(major 决胜)。`1.2.3` vs `1.2.3-rc.1` → cmp 0(本工具忽略 pre-release,与严格 SemVer 不同)。

  4. 与严格 SemVer 的差异

    严格 SemVer(semver.org)规定 `1.2.3` > `1.2.3-rc.1`,因为 pre-release 排在正式版之前。本工具忽略 patch 之后的部分——做粗略校验够用,但 npm 的 `^/~` 范围逻辑请使用真正的 semver 库。