npm override无法修复node-fetch高风险漏洞问题求助
解决node-fetch高风险漏洞的override配置问题
漏洞详情
- 风险等级:高风险
- 涉及包:node-fetch
- 修复版本要求:>=2.6.7
- 依赖路径:react-table-drag-select > react > fbjs > isomorphic-fetch > node-fetch
已尝试的配置
我曾在package.json中尝试两种override配置,但均未解决漏洞:
第一种配置:
{ "overrides":{ "isomorphic-fetch":{ "node-fetch":"2.6.7" } } }
第二种配置:
{ "overrides":{ "react-table-drag-select":{ "react":{ "fbjs":{ "isomorphic-fetch":{ "node-fetch":"latest" } } } } } }
有效解决方法
1. 全局强制指定node-fetch版本
直接在package.json的overrides中顶层声明node-fetch的目标版本,这种方式会强制整个依赖树中所有node-fetch实例使用指定版本,无需关注嵌套层级:
{ "overrides": { "node-fetch": "2.6.7" } }
2. 清理依赖并重新安装
修改配置后,执行以下命令清理旧依赖并重新安装,确保配置生效:
rm -rf node_modules package-lock.json npm install
3. 验证版本是否正确
安装完成后,执行以下命令检查所有node-fetch实例的版本:
npm ls node-fetch
输出结果中所有node-fetch的版本都应显示为2.6.7,若存在其他版本,说明仍有未覆盖的引入路径,可进一步排查。
内容的提问来源于stack exchange,提问作者Sai Krishna
相关产品推荐
相关产品推荐

