通过执行以下命令能够查看某个依赖包的最新版本:
# 查看某个 package 的注册信息
npm view <package-name>
# 查看某个 package 的最新版本
npm view <package-name> version
# 查看某个 package 在 npm 服务器上所发布过的版本
npm view <package-name> versions
# 查看仓库依赖树上所有包的版本信息
npm ls
npm 中的包模块版本都需要遵循 SemVer(Semantic Version,语义化版本)规范,这是由 Github 起草的一个具有指导意义的,统一的版本号表示规则.
SemVer 规范的标准版本号采用 X.Y.Z 的格式,其中 X、Y 和 Z 为非负的整数,且禁止在数字前方补零。X 是主版本号、Y 是次版本号、而 Z 为修订号。每个元素必须以数值来递增。
主版本号(major):当你做了不兼容的 API 修改
次版本号(minor):当你做了向下兼容的功能性新增
修订号(patch):当你做了向下兼容的问题修正。
版本号标签:
版本号标签 语义 说明
latest 默认 不指定版本情况下默认安装的最新版本
alpha 内测 内部测试版,一般不向外部发布,会有很多 BUG,一般只有测试人员使用
beta 公测 也是测试版本,这个阶段的版本会一直加入新的功能,在 Alpha 版之后推出
next 下一个 rc 候选 Release Candidate 系统平台上就是发行候选版本。RC 版不会再加入新的功能了,主要着重于除错
experimental 实验
给版本号添加标签的方式有两种:
# 第一种方式:在发布时指定标签
# 1. version-tag 替换为版本号标签的名称
npm publish --tag <version-tag>
# 示例
npm publish --tag next react@18.0.0
npm publish --tag experimental vue@3.2.0
# 第二种方式:发布后执行以下命令
# 1. package-name 替换为 npm 包名字
# 2. version 替换为 npm 包的指定版本
# 3. version-tag 替换为版本号标签的名称
npm dist-tag add <package-name>@<version> <version-tag>
# 示例
npm dist-tag add react@18.0.0 alpha
npm dist-tag add vue@3.2.0 next
版本号操作工具:semver,可以通过 npm 安装,npm install semver
版本号特殊字符:
版本号包可能包含 ~ 和 ^ 符号:
~:当安装依赖时获取到有最新版本时,安装到 x.y.z 中 z 的最新版本。即保持主版本号、次版本号不变的情况下,保持修订号的最新版本
^:当安装依赖时获取到由最新版本时,安装到 x.y.z 中 y 和 z 都为最新版本。即保持主版本号不变的情况下,保持次版本号、修订版本号为最新版本。
除此以外,还包含以下规则:
>:接受高于指定版本的任何版本
>= 接受等于或高于指定版本的任何版本
<=:接受等于或低于指定版本的任何版本
<:接受低于指定版本的任何版本
=:接受确切的版本
-:接受一定范围的版本,例如 2.1.0 - 2.4.1
||:组合集合,例如 < 2.2 || > 2.4
