npm audit显示高危漏洞但修复后依然存在怎么办?

照南(打工版) 阅读 54

我在开发一个Vue项目时,用npm audit发现有个高危漏洞(no-ssri@4.0.0),提示影响构建流程。试过运行npm audit fix和手动升级相关包,但漏洞还是没消失。项目用的是Vue CLI 4.5.13,package.json里有这些依赖:


{
  "devDependencies": {
    "@vue/cli-plugin-babel": "~4.5.0",
    "npm": "^9.6.7",
    "webpack": "^4.44.2"
  }
}

查了漏洞详情说问题出在某个间接依赖里,但npm ls no-ssri显示它根本没被安装?难道是缓存问题?或者需要强制更新所有依赖?

我来解答 赞 8 收藏
二维码
手机扫码查看
1 条解答
A. 翠翠
A. 翠翠 Lv1
这种情况我遇到过,确实是间接依赖的问题。直接给你解决方案拿去改改:

1. 先清理缓存和node_modules:
rm -rf node_modules package-lock.json
npm cache clean --force


2. 然后用 --legacy-peer-deps 安装:
npm install --legacy-peer-deps


3. 如果还有问题,强制升级Vue CLI相关依赖:
npm install @vue/cli-plugin-babel@latest webpack@latest --save-dev


4. 最后检查依赖树:
npm ls no-ssri

如果还是显示有漏洞,可能是因为Vue CLI本身的锁定版本问题,可以考虑用 npm audit fix --force 强制修复。

实在不行就忍了吧,这种间接依赖的假阳性问题挺常见的,不影响实际运行就没必要太纠结。
点赞 8
2026-01-31 18:15