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

使用npx create-react-app创建项目时遭遇中等严重性漏洞及修复循环问题求助

解决create-react-app创建项目后npm audit漏洞循环问题

我之前碰到过完全一样的情况,这本质是旧版create-react-app的依赖链里嵌套了存在漏洞的包,而npm audit fix --force会强制降级react-scripts到1.1.5版本——这个旧版本反而引入更多高危/低危漏洞,反复执行命令就会陷入“修复→漏洞变多→修复回原状态”的循环。下面是几个靠谱的解决办法:

方法一:升级到最新版create-react-app(推荐)

这是最彻底的解决方案,新版本的react-scripts已经修复了这些依赖漏洞:

  • 先卸载全局安装的旧版create-react-app(如果有的话):
    npm uninstall -g create-react-app
    
  • 使用最新版本重新创建项目:
    npx create-react-app@latest my-app
    
  • 进入项目目录后运行npm audit,你会发现漏洞已经被修复。

方法二:给现有项目添加依赖覆盖(无需重建项目)

如果不想重新创建项目,可以通过npm overrides强制指定安全版本的依赖,绕过原依赖链的漏洞版本:

  1. 在项目根目录的package.json中添加以下字段:
    "overrides": {
      "browserslist": "^4.16.5",
      "glob-parent": "^5.1.2"
    }
    
  2. 执行安装命令让覆盖生效:
    npm install
    
  3. 再次运行npm audit,就能看到10个中等漏洞已经被修复了。

方法三:临时忽略漏洞(仅紧急开发场景用)

如果只是本地开发测试,暂时不想处理漏洞,可以:

  • 仅检查生产环境依赖的漏洞:
    npm audit --production
    
  • 或者在package.json中关闭npm audit功能(不推荐长期使用):
    "scripts": {
      "preinstall": "npm set audit false"
    }
    

为什么之前的方法会循环?

npm audit fix --force提示的“安装react-scripts@1.1.5”是破坏性变更——这个非常老旧的版本依赖了大量存在漏洞的包(比如旧版webpack、webpack-dev-server等),所以执行后漏洞数量暴增;再次执行命令时,npm又会尝试升级react-scripts回原版本,漏洞数量又变回10个,如此往复形成循环。

内容的提问来源于stack exchange,提问作者Jishnu Mk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 15:57:31