Nuxt 3项目安装@nuxtjs/ionic遇安全漏洞及弃用警告求助
先定位vm2的来源
执行npm ls vm2(用pnpm的话就跑pnpm why vm2),搞清楚是@nuxtjs/ionic本身还是它的某个子依赖在拉这个废弃的库。同时去@nuxtjs/ionic的GitHub issues里搜搜,看有没有其他人碰到同样问题,官方有没有修复动向。临时屏蔽警告(仅限开发环境)
要是开发时不想被弹窗烦,npm 8.3以上版本可以在package.json里加overrides字段强制替换,但注意可能搞出兼容问题:"overrides": { "vm2": "npm:isolated-vm@^4.0.0" }加完重新跑
npm install,要是项目报错就赶紧撤掉这个配置。升级或换依赖方案
先试试升级@nuxtjs/ionic到最新版:npm install @nuxtjs/ionic@latest -D,看新版本是不是已经把vm2换成isolated-vm了。要是官方还没修,也可以直接用Ionic原生的Vue集成,装@ionic/vue和@ionic/vue-router,自己手动在Nuxt里配置Ionic支持。手动处理安全漏洞
跑npm audit fix --force让npm自动修复,但--force可能搞崩依赖,修复完一定要测项目能不能正常跑。要是自动修复没用,就看npm audit的详细输出,逐个看涉及的依赖有没有安全版本可以升级。换包管理器试试
换成pnpm或者yarn,它们的依赖解析逻辑不一样,可能避开这个问题。执行pnpm add @nuxtjs/ionic -D或者yarn add @nuxtjs/ionic -D,看看还会不会出警告和漏洞。
内容的提问来源于stack exchange,提问作者GeorgeIlias

