npm 版本号详解

NPM(Node Package Manager)的版本号遵循语义化版本规范(Semantic Versioning,简称 SemVer)

SemVer 定义了版本号的格式和规则,版本号由三个部分组成:主版本号(Major)、次版本号(Minor)、修订版本号(Patch)

一个典型的 SemVer 格式的版本号如下:

MAJOR.MINOR.PATCH

各部分的含义如下:

  1. 主版本号(MAJOR): 当进行不兼容的 API 修改时,增加主版本号。这意味着旧版本的代码在新版本中可能无法正常工作。 大版本更新,通常涉及到项目中大的改变

  2. 次版本号(MINOR): 当向后兼容地添加新功能时,增加次版本号。这意味着旧版本的代码在新版本中仍然可以正常工作,但用户可以利用新功能。 小功能新增

  3. 修订版本号(PATCH): 当进行向后兼容的 bug 修复时,增加修订版本号。这意味着旧版本的代码在新版本中仍然可以正常工作,并且修复了可能导致错误的问题。修复 bug 或增强某些功能,不引入新功能

此外,NPM 还允许在版本号中包含先行版本号 构建号。先行版本号表示一个预发行的版本,可能包含新功能但尚未被广泛测试。构建号通常用于指定构建的标识符(beta.1 是预发布标识符 build.123 是构建标识符)。

例如,一个带有先行版本号和构建号的版本号可能如下所示:

1.0.0-beta.1+build.123

在使用 NPM 进行包管理时,可以使用以下命令来安装特定版本的包(安装 package-name 的 1.2.3 版本。如果不指定版本号,则 NPM 会安装包的最新版本):

npm install package-name@1.2.3