指尖上的记忆指尖上的记忆
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub

通过执行以下命令能够查看某个依赖包的最新版本:

# 查看某个 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