vue 项目 node-ipc 9.2.2 病毒问题彻底解决

3,957 阅读1分钟

现象

按网上的方法升级 @vue/cli 到 5.0+,桌面依然出现 With love from America.txt 文件。

或者个别项目重新安装,遇到 node-ipc@9.2.2 包无法找到的问题。

error @achrinza/node-ipc@9.2.2: The engine “node” is incompatible with this module.

原因

虽然全局升级了 @vue/cli,但是项目中的旧版本并未清除。

虽然 @vue/cli 升级了,但是项目中指向的 @vue/cli 相关的插件可能并未升级。

搜索项目文件夹的 package-lock.json 可以发现 node-ipc 指向 9.2.2 版本

解决

  1. 停掉本地所有项目的服务,非常重要‼️

  2. 先全局卸 vue/cli,如果使用其他包管理工具,自行替换命令行。

npm uninstall -g @vue/cli
  1. 删除项目文件夹的 node_modules 目录,目录太多可使用命令行删除,但耗时较长,可能需要1-2 小时。
rm -rf */node_modules
  1. 删除 package-lock.json,如有其他包管理工具的 lock 文件也请清理。

  2. 修改项目文件夹 package.json,将所有 vue/cli 相关插件的版本改成 ~5.0.0/^5.0.0,建议将所有项目做统一修改,避免再次安装

{
   devDependences: {
     "@vue/cli-xxx": "~5.0.0"
   }
}
  1. pnpm 需要删除存储在本地的版本
pnpm store prune
  1. 重新全局安装 @vue/cli
npm install -g @vue/cli
  1. 重新安装项目依赖

搜索 lock 文件,@node-ipc 包不再关联 9.2.2 版本,提交新的 lock 文件,大功告成!