[npm]覆盖依赖中内嵌的依赖的版本

文章讲述了在开发过程中如何通过npm的overrides功能,强制在项目中使用特定版本的undici-types包,以升级依赖并避免官网未提供最新版本的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

       开发过程中,我的项目中需要使用@type/node这个依赖,如下图:

@type/node中又依赖了一个undici-types的包,如下图:

现在想要升级undici-types的版本,由于@type/node官网暂时并没有使用最新版本的undici-type依赖,所以只能通过其他方式在本地强制使用新版本undici-types。

具体做法如下:

在自己项目的package.json中,使用npm的overrides来覆盖@type/node中设置的undici-type的版本,也就是通过overrides告诉@type/node不下载它里面设置的undici-type的版本,而是下载overrides设置的版本。图片如下:

然后执行npm install。安装后,可以在node module中看到下载的undici-type不在是@type/node中的版本,而是我们通过overrides设置的版本。图片如下:

所以当想要覆盖默认版本的依赖,下载某个特定版本时,就用overrides就行。写法就是通过json的层次关系表示要覆盖哪个包中的那个依赖,最后写上版本号就行,文章中截图对应如下:

"overrides": {
    "@types/node": {
      "undici-types": "~6.6.1"
    }
  }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值