npm无法使用,npm audit fix --force执行无效问题求助
npm安装依赖时qs高风险漏洞的解决办法
问题详情
npm安装软件包时触发高风险漏洞告警,尝试过升级expo、重装expo、执行npm audit fix --force均未解决。具体报错内容:
qs 版本范围6.7.0-6.7.2
风险等级:高
qs存在原型污染漏洞
提示可通过npm audit fix --force修复,但该操作会安装expo@44.0.6,属于破坏性变更
依赖链路:
node_modules/qs → body-parser@1.19.0 → @expo/dev-server → @expo/cli → expo(版本≥45.0.0-beta.1)共5个高风险漏洞
解决方案
强制升级qs版本(推荐)
在项目根目录的package.json中添加overrides配置,强制让所有依赖使用安全版本的qs(如6.11.0):{ "overrides": { "qs": "^6.11.0" } }保存后执行
npm install,再运行npm audit验证漏洞是否修复。该方法无需降级expo,可保留当前项目expo版本的同时解决漏洞问题。临时绕过检查(不推荐)
若暂时无法调整依赖版本,可执行npm audit --production仅检查生产环境依赖的漏洞,或在构建流程中跳过npm audit步骤。但这只是临时权宜之计,会留存安全隐患。等待官方更新
关注expo官方仓库,当@expo/dev-server或@expo/cli更新其依赖的body-parser版本后,升级对应expo相关包即可自动修复该漏洞。
内容的提问来源于stack exchange,提问作者MRTS6
相关产品推荐
相关产品推荐

