You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制指定开发依赖的子依赖@babel/runtime版本至7.26.10以修复安全漏洞?

如何强制指定开发依赖的子依赖@babel/runtime版本至7.26.10以修复安全漏洞?

我之前也碰到过这种子依赖引发的安全漏洞提示,明明自己没直接装这个包,却要为它的漏洞操心😂。针对你的情况,有几个非常实用的方法可以强制把@babel/runtime锁定到7.26.10版本,完美解决Dependabot的提示:

方法一:用npm的overrides字段(推荐,npm 8.3及以上版本支持)

从npm 8.3开始,官方提供了overrides字段专门用来强制覆盖子依赖的版本,这是最标准的解决方案。你只需要在项目的package.json里添加这个字段,指定你想要的@babel/runtime版本即可:

{
  "devDependencies": {
    "@testing-library/react": "16.3.0"
  },
  "overrides": {
    "@babel/runtime": "7.26.10"
  }
}

添加完成后,执行npm install更新依赖。之后可以用npm ls @babel/runtime命令验证,整个依赖树里的@babel/runtime都会被强制替换成7.26.10版本。

方法二:用Yarn的resolutions字段(Yarn用户适用)

如果你项目用的是Yarn包管理器,可以用resolutions字段来实现同样的效果,写法和npm的overrides类似:

{
  "devDependencies": {
    "@testing-library/react": "16.3.0"
  },
  "resolutions": {
    "@babel/runtime": "7.26.10"
  }
}

保存后执行yarn install,再通过yarn list @babel/runtime检查版本是否已经被正确锁定。

方法三:直接添加为开发依赖(应急临时方案,不推荐长期使用)

如果你赶时间,也可以直接把@babel/runtime@7.26.10添加为项目的开发依赖,因为包管理器会优先使用你直接声明的版本,自动覆盖子依赖的版本要求:

npm install --save-dev @babel/runtime@7.26.10

不过这个方法有个小问题:以后如果@testing-library/react更新了它的@babel/runtime依赖版本,你可能会忘记移除这个直接依赖,容易引发版本冲突。所以除非应急,还是优先用前两种方法更稳妥。

不管用哪种方法,操作完成后一定要记得验证版本是否生效,避免因为缓存或者配置问题没达到预期效果哦!

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 11:29:52