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版本。
相关推荐
写不来代码的草莓熊8 分钟前
Cesium 地图交互绘制圆形、多边形
前端·javascript·地图
weixin_4277716117 分钟前
前端版本检测
前端
禅思院1 小时前
流式 Markdown 渲染完全指南【引子】
前端·架构·前端框架
JackSparrow4141 小时前
前端安全之JS混淆+请求加密+请求签名以提升爬虫难度
前端·javascript·后端·爬虫·python·安全
IMPYLH1 小时前
HTML 的 <em> 元素
java·前端·html
看昭奚恤哭1 小时前
基于 RuoYi-Vue-Pro 定制了一个后台管理系统 magic-admin , 开源出来!
前端·vue.js·开源
名为沙丁鱼的猫7293 小时前
【审计日志组件实践复盘】前端工程化 + 后端DDD架构(AOP切面拦截日志) + MBG
前端·架构
xqqxqxxq4 小时前
AI智能旅游规划系统 - 前端技术笔记
前端·笔记·旅游
陈随易10 小时前
bm2,MoonBit实现的pm2替代品
前端·后端·程序员
To_OC10 小时前
从 0 到 1:Milvus + 大模型打造私人记忆知识库
人工智能·node.js·llm