NestJS 8.4.5关联dicer包漏洞求助:npm audit检测异常的解决办法
解决NestJS依赖dicer的npm audit异常问题
我上周刚碰到一模一样的问题,折腾了大半天终于找到可行的解决办法,分享给你:
先定位依赖链路
首先用npm ls dicer命令查清楚dicer是通过哪个NestJS子依赖引入的——我当时发现是@nestjs/platform-express间接依赖了multer,而旧版本multer又依赖了带漏洞的busboy,busboy才是最终引入dicer的包。理清链路后就好针对性处理了。强制升级嵌套依赖(推荐)
如果你的npm版本是8.x及以上,可以直接在package.json里用overrides字段强制将dicer升级到安全版本。示例配置如下:"overrides": { "dicer": "0.3.1" }配置完后执行
npm install,再跑npm audit就能看到dicer的异常提示消失了。我亲测这个方法有效,而且不会破坏现有项目的依赖兼容性。应急临时方案(不推荐长期用)
如果赶项目上线,也可以试试npm audit fix --force,但这个命令可能会强制升级一些不兼容的依赖包,一定要先在测试环境跑一遍全量测试,确认项目功能正常再用。关注官方修复进度
你也可以去NestJS的GitHub仓库搜相关issue,我当时看到已经有PR在更新multer的依赖版本了,等官方发布新版本后,直接升级NestJS的相关包就能彻底解决这个问题。
希望这些方法能帮你搞定!
内容的提问来源于stack exchange,提问作者Saro
相关产品推荐
相关产品推荐

