npm 版本号指定标识符

关于依赖的版本

我们可以先来了解依赖的版本

javascript 复制代码
{
   "dependencies": {
    "@nestjs/common": "^10.0.0",
    "@nestjs/core": "^10.0.0",
   }
}

比如我们常见的依赖版本一般长这样,它一般由三部分组成:major.minor.patch,依次为主版本号、次版本号、修补版本号。

  • 主要版本的更改代表了一个破坏兼容性的大变化。 如果用户不适应主要版本更改,则内容将无法正常工作。
  • 次要版本的更改表示不会破坏任何内容的新功能。
  • 修补版本的更改表示不会破坏任何内容的错误修复。

比如上面我们看到的^10.0.0,主版本号为10、次版本号为0、修补版本号为0,那^表示什么呢?

版本号指定标识符^~ *

这个符号其实是用来指定版本范围的,与之对应的有以下符号:

  • ^ 会匹配最新的大版本依赖包,比如 ^1.2.3 会匹配所有 >=1.1.2 <2.0.0 的版本,包括 1.3.0,但是不包括 2.0.0
  • ~ 会匹配最近的小版本依赖包,比如 ~1.2.3 会匹配所有 >=1.1.2 <1.2.0 的版本,但是不包括 1.3.0
  • * 安装最新版本的依赖包,比如 *1.2.3 会匹配 x.x.x
  • 无符号时,比如 1.2.3,那就是将要使用的确切版本,总是会下载这个版本的依赖包

也可以这么理解:

  • 符号^:表示主版本固定的情况下,可更新最新版。例如:vuex: "^3.1.3",3.1.3及其以上的3.x.x都是满足的。
  • 符号~:表示次版本固定的情况下,可更新最新版。如:vuex: "~3.1.3",3.1.3及其以上的3.1.x都是满足的。
  • * 安装最新版本的依赖包。
  • 无符号:无符号表示固定版本号,例如:vuex: "3.1.3",此时一定是安装3.1.3版本。
相关推荐
热爱编程的小曾22 分钟前
sqli-labs靶场 less 8
前端·数据库·less
gongzemin34 分钟前
React 和 Vue3 在事件传递的区别
前端·vue.js·react.js
Apifox1 小时前
如何在 Apifox 中通过 Runner 运行包含云端数据库连接配置的测试场景
前端·后端·ci/cd
树上有只程序猿1 小时前
后端思维之高并发处理方案
前端
庸俗今天不摸鱼2 小时前
【万字总结】前端全方位性能优化指南(十)——自适应优化系统、遗传算法调参、Service Worker智能降级方案
前端·性能优化·webassembly
黄毛火烧雪下2 小时前
React Context API 用于在组件树中共享全局状态
前端·javascript·react.js
Apifox2 小时前
如何在 Apifox 中通过 CLI 运行包含云端数据库连接配置的测试场景
前端·后端·程序员
一张假钞2 小时前
Firefox默认在新标签页打开收藏栏链接
前端·firefox
高达可以过山车不行2 小时前
Firefox账号同步书签不一致(火狐浏览器书签同步不一致)
前端·firefox
m0_593758102 小时前
firefox 136.0.4版本离线安装MarkDown插件
前端·firefox