安装react-scripts时出现58个安全漏洞及废弃依赖问题求助
解决方案
方案1:升级react-scripts(优先推荐)
你当前使用的react-scripts@4.0.3为2021年发布的旧版本,内置依赖长期未迭代是安全漏洞、废弃依赖告警的核心原因。该版本可直接升级到适配react@17的最新兼容版本,操作命令如下:
# 卸载旧版本 npm uninstall react-scripts # 安装适配版本 npm install react-scripts@5.0.1 --save-exact
升级完成后删除项目根目录下的node_modules文件夹、package-lock.json锁文件,重新执行npm install即可解决90%以上的安全漏洞与废弃依赖告警。
方案2:不升级react-scripts的兼容修复方案
如果业务需要保留react-scripts@4.0.3版本,可通过依赖覆盖方式修复问题:
- 首先升级npm到8.3.x以上版本(你当前使用的npm@8.1.0不支持overrides配置):
npm install -g npm@8.19.4 - 在项目
package.json文件中新增overrides字段,强制指定依赖版本:{ "name": "your-project", "version": "1.0.0", "dependencies": { // 原有依赖配置 }, "overrides": { "flatten": "^1.0.3", "@hapi/topo": "^5.1.0", "@hapi/bourne": "^3.0.0", "urix": "^0.1.0", "resolve-url": "^0.2.1", "querystring": "^0.2.1", "sane": "^5.0.1", "chokidar": "^3.5.3", "babel-eslint": "@babel/eslint-parser@^7.22.15", "@hapi/address": "^5.1.0", "rollup-plugin-babel": "@rollup/plugin-babel@^6.0.4", "uuid": "^9.0.1", "@hapi/joi": "^17.1.1", "svgo": "^3.0.2", "core-js": "^3.33.0" } } - 配置完成后删除
node_modules文件夹、package-lock.json锁文件,重新执行npm install即可。 - 若仅为本地开发使用,react-scripts的绝大多数依赖仅在开发阶段生效,不会打包到生产环境代码中,可执行
npm audit --production仅检查生产环境依赖漏洞,确认无风险后可忽略开发阶段的漏洞告警。
效果验证
操作完成后执行npm audit查看剩余漏洞数量,执行npm start确认项目可正常启动即可。
内容的提问来源于stack exchange,提问作者V.Hure
相关产品推荐
相关产品推荐

