目录

1. 故障现场

2. 问题分析

3.修复方案

1. 故障现场

最近由于一些原因,从Mac OSX 迁移到 Windows 平台,在尝试运行基于vue-element-admin 项目时,发生了如下异常:

npm WARN EBADENGINE Unsupported engine {

npm WARN EBADENGINE package: '@achrinza/node-ipc@9.2.2',

npm WARN EBADENGINE required: { node: '8 || 10 || 12 || 14 || 16 || 17' },

npm WARN EBADENGINE current: { node: 'v18.4.0', npm: '8.12.1' }

npm WARN EBADENGINE }

2. 问题分析

安装的node js 版本选择的是长期支持的稳定版本18.12.1 LTS

比对了Mac OSX 版本上的是v18.4.0 , 回退到相同版本问题依旧如此。

后来经过分析,发现,element-ui 的版本依赖锁定是在一个叫做package-locak.json 中,并且找到了相关配置。

"node_modules/@achrinza/node-ipc": {

"version": "9.2.2",

"resolved": "https://registry.npmmirror.com/@achrinza/node-ipc/-/node-ipc-9.2.2.tgz",

"integrity": "sha512-b90U39dx0cU6emsOvy5hxU4ApNXnE3+Tuo8XQZfiKTGelDwpMwBVgBP7QX6dGTcJgu/miyJuNJ/2naFBliNWEw==",

"dev": true,

"dependencies": {

"@node-ipc/js-queue": "2.0.3",

"event-pubsub": "4.3.0",

"js-message": "1.0.7"

},

"engines": {

"node": "8 || 10 || 12 || 14 || 16 || 17"

}

},

3.修复方案

package-lock.json 修改配置如下:

"node_modules/@achrinza/node-ipc": {

"version": "9.2.2",

"resolved": "https://registry.npmmirror.com/@achrinza/node-ipc/-/node-ipc-9.2.2.tgz",

"integrity": "sha512-b90U39dx0cU6emsOvy5hxU4ApNXnE3+Tuo8XQZfiKTGelDwpMwBVgBP7QX6dGTcJgu/miyJuNJ/2naFBliNWEw==",

"dev": true,

"dependencies": {

"@node-ipc/js-queue": "2.0.3",

"event-pubsub": "4.3.0",

"js-message": "1.0.7"

},

"engines": {

"node": "8 || 10 || 12 || 14 || 16 || 17 || 18"

}

},

————————————————