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

运行npm audit检测出6个漏洞,多种修复方法无效求助

问题描述
  • 运行npm audit report检测出6个npm漏洞
  • 尝试在package.json中添加overrides字段指定相关包的最新版本:
    "overrides": {
        "nth-check": "2.1.1",
        "@svgr/webpack": "6.5.1",
        "@svgr/plugin-svgo": "6.5.1",
        "svgo": "3.0.1",
        "css-select": "5.1.0"
      }
    
    执行npm update后漏洞问题仍未解决
  • 尝试添加resolutions字段并运行npx i npm-force-resolutions,报错:
    npm ERR! could not determine executable to run.
    
解决方案

1. 修复npm-force-resolutions执行错误

你之前的命令多打了一个i,正确操作步骤:

  • 在package.json中添加resolutions字段:
    "resolutions": {
        "nth-check": "2.1.1",
        "@svgr/webpack": "6.5.1",
        "@svgr/plugin-svgo": "6.5.1",
        "svgo": "3.0.1",
        "css-select": "5.1.0"
      }
    
  • 添加preinstall脚本,确保每次安装依赖时自动应用版本强制:
    "scripts": {
      "preinstall": "npx npm-force-resolutions"
    }
    
  • 删除现有依赖文件,避免缓存干扰:
    rm -rf node_modules package-lock.json
    
  • 重新安装依赖:
    npm install
    

2. 排查overrides未生效的原因(npm 8.3+适用)

如果overrides没起作用,大概率是依赖嵌套层级或版本指定的问题:

  • 先检查项目中这些包的实际安装版本:
    npm ls nth-check @svgr/webpack @svgr/plugin-svgo svgo css-select
    
  • 确认指定的版本确实修复了对应漏洞(可查看包的npm版本更新说明)
  • 针对深层嵌套依赖,尝试更精确的路径覆盖,比如:
    "overrides": {
      "@svgr/webpack>@svgr/plugin-svgo>svgo>css-select>nth-check": "2.1.1"
    }
    
  • 同样删除依赖文件后重新安装:
    rm -rf node_modules package-lock.json && npm install
    

3. 其他修复手段

  • 升级npm到最新版本,避免版本兼容性问题:
    npm install -g npm@latest
    
  • 若这些包是项目直接依赖,直接在dependencies或devDependencies中指定最新版本,再重新安装依赖
验证修复

执行以下命令确认漏洞是否已修复:

npm audit

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 09:41:19