执行npm install后持续出现fsevents@1.2.4弃用警告的求助
解决npm install后的fsevents弃用警告与漏洞问题
处理fsevents@1.2.4弃用警告
fsevents是仅针对macOS的文件监听工具包,v1版本在Node.js 14及以上环境下不仅会失效,还存在安全风险。你重装npm没用,是因为这个包是项目依赖(或依赖的子依赖)带来的,和npm本身无关。按以下步骤解决:
- 先定位是哪个依赖引入了旧版fsevents:
npm ls fsevents - 如果是项目直接依赖的fsevents,手动升级到最新v2版本:
npm install fsevents@latest --save-dev # 开发依赖用--save-dev,生产依赖换成--save - 如果是间接依赖(某依赖的子依赖):
- 尝试更新对应的上层依赖:找到输出里显示的上层依赖包,执行
npm install [依赖包名]@latest更新,通常新版本会同步升级内部的fsevents - 若上层依赖没有更新计划,可在
package.json中添加resolutions字段强制指定fsevents版本(npm 6+支持):
之后重新执行"resolutions": { "fsevents": "^2.3.2" }npm install即可生效
- 尝试更新对应的上层依赖:找到输出里显示的上层依赖包,执行
处理68个安全漏洞
这些漏洞是项目依赖包存在的安全问题,按以下流程处理:
- 先查看每个漏洞的具体影响和修复建议:
npm audit - 优先执行无破坏性的自动修复:
这个命令会将有漏洞的依赖更新到兼容的安全版本,不会改动依赖的大版本,尽可能避免破坏项目兼容性npm audit fix - 若
npm audit fix无法修复全部漏洞(比如需要升级依赖大版本),再考虑强制修复:
注意:该命令会修改依赖的大版本,可能引发项目兼容性问题,执行前请备份npm audit fix --forcepackage.json和package-lock.json,修复后务必测试项目功能是否正常 - 对于部分自动修复无法解决的漏洞,需根据
npm audit的输出手动处理:要么更新对应的依赖包,要么替换为安全的替代包
内容的提问来源于stack exchange,提问作者Darius Elijah
相关产品推荐
相关产品推荐

