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

将react-scripts移至devDependencies后npm audit --production仍报漏洞怎么办

问题原因

  1. 你使用的是npm 7及以上版本,该版本开始默认将peer依赖纳入audit扫描范围,即使react-scripts已经放在devDependencies中,它关联的peer依赖漏洞仍会被npm audit --production扫描到。
  2. 你当前的package.json还存在错误的依赖分类:@testing-library/jest-dom、@testing-library/react、@testing-library/user-event三个测试相关的包属于开发工具,不应该放在生产依赖dependencies中。
  3. 你修改package.json后没有重新生成依赖树,旧的安装记录还保留在package-lock.json和node_modules中,扫描时依然会读取旧的依赖信息。

解决步骤

  • 先把三个测试相关包移动到devDependencies中,修改后的依赖结构如下:
"dependencies": {
  "react": "^17.0.2",
  "react-dom": "^17.0.2",
  "web-vitals": "^1.1.2"
},
"devDependencies": {
  "@testing-library/jest-dom": "^5.15.0",
  "@testing-library/react": "^11.2.7",
  "@testing-library/user-event": "^12.8.3",
  "react-scripts": "4.0.3"
}
  • 删除项目根目录下的node_modules文件夹和package-lock.json文件
  • 重新执行npm install安装依赖
  • 再次执行npm audit --production,如果使用的是npm 8及以上版本,可以执行npm audit --production --omit=peer忽略peer依赖的扫描结果,就不会再出现相关告警。

补充说明

这些告警涉及的都是开发工具链的依赖,并不会被打包到最终上线的生产代码中,即使暂时没有消除告警,也不会影响线上环境的安全性。如果想要彻底解决所有漏洞告警,可以将react-scripts升级到5.x以上的稳定版本,该版本已经修复了旧版本依赖的绝大多数安全问题。

内容的提问来源于stack exchange,提问作者Timothy Pulliam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 01:06:09