Umi2 执行 install 报 jsdom 错误解决方案

318 阅读1分钟

公司有一个老项目是用 umi2 开发的,今天装包的时候突然报了这个错误

error jsdom@23.0.1: The engine "node" is incompatible with this module. Expected version ">=18". Got "16.20.2"

说 node 版本不对,原因是 umi2 的 umi-test中,依赖了 jsdom,但是没有去锁版本,最近 jsdom 升级了,要求必须使用 node 18 或更高的版本,导致打包机包完全装不下来。最后的解决方案是在 package.json 中的 resolutions 字段中添加如下配置

"resolutions": {  
  "jsdom": "11.5.1"  
}

参考 issue

github.com/umijs/umi/i…