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

如何修复package-lock.json中npm audit fix无法解决的tar版本漏洞问题

根因说明

漏洞来自create-react-app依赖的tar-pack包,该包已停止维护,其内部依赖声明固定了tar的版本范围为 <=4.4.17,和你全局安装的高版本tar不冲突。npm audit fix无法自动修复、手动修改lockfile会回退,都是因为npm会严格按照依赖包声明的版本范围校验依赖版本,不符合范围的会自动还原。

解决方案

  • 方案1(最推荐):卸载全局安装的create-react-app
    官方早已不推荐全局安装create-react-app,全局版本不仅容易有依赖漏洞,还会出现版本滞后问题。执行命令卸载:

    npm uninstall -g create-react-app
    

    后续创建React项目直接使用npx命令即可,每次都会拉取最新的官方版本,不会残留全局依赖:

    npx create-react-app 你的项目名称
    

    卸载后重新执行npm audit就不会再报该漏洞。

  • 方案2:使用npm overrides强制覆盖依赖版本
    如果你需要保留全局create-react-app,或是项目内依赖存在该问题,可以通过npm的overrides功能强制替换低版本tar:

    1. 先将npm升级到8.3及以上版本(支持overrides功能):
    npm install -g npm@latest
    
    1. 在项目根目录的package.json中添加如下配置:
    {
      "overrides": {
        "tar-pack": {
          "tar": "^6.1.11"
        }
      }
    }
    
    1. 删除项目下的node_modules文件夹和package-lock.json文件,重新执行npm install即可。
  • 方案3(临时兼容):忽略漏洞
    该漏洞的触发需要恶意构造的tar包,且其中Windows相关的漏洞完全不影响Mac系统,如果你只是本地开发使用,可以选择暂时忽略,执行审计时添加过滤参数即可:

    npm audit --omit=dev
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:45:06