现象
按网上的方法升级 @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 版本
解决
-
停掉本地所有项目的服务,非常重要‼️
-
先全局卸 vue/cli,如果使用其他包管理工具,自行替换命令行。
npm uninstall -g @vue/cli
- 删除项目文件夹的 node_modules 目录,目录太多可使用命令行删除,但耗时较长,可能需要1-2 小时。
rm -rf */node_modules
-
删除 package-lock.json,如有其他包管理工具的 lock 文件也请清理。
-
修改项目文件夹 package.json,将所有 vue/cli 相关插件的版本改成 ~5.0.0/^5.0.0,建议将所有项目做统一修改,避免再次安装
{
devDependences: {
"@vue/cli-xxx": "~5.0.0"
}
}
- pnpm 需要删除存储在本地的版本
pnpm store prune
- 重新全局安装 @vue/cli
npm install -g @vue/cli
- 重新安装项目依赖
搜索 lock 文件,@node-ipc 包不再关联 9.2.2 版本,提交新的 lock 文件,大功告成!