You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js版本不兼容RobotJS模块报错问题求助

解决RobotJS与Electron 11的NODE_MODULE_VERSION不兼容问题

问题根源

Electron 11内置的Node.js版本对应NODE_MODULE_VERSION 85,而你当前安装的RobotJS模块是用系统Node.js 12(对应NODE_MODULE_VERSION 72)编译的,二者不兼容。下面是针对性的解决步骤:


  1. 彻底清理现有依赖与缓存
    先删除冲突的依赖文件和缓存,避免残留影响:
# 删除依赖目录和锁文件
rm -rf node_modules package-lock.json
# 删除RobotJS的编译产物
rm -rf node_modules/robotjs/build node_modules/robotjs-node12/build
# 清除npm缓存
npm cache clean --force
  1. 修正package.json的依赖配置
  • 移除冲突的robotjs依赖,保留适配Node.js 12的robotjs-node12
  • 将devDependencies里的@types/node改成与Node.js 12匹配的版本(比如^12.20.55),避免类型定义版本不兼容
    修改后的核心配置如下:
"dependencies": {
  "electron": "^11.1.0",
  "electron-builder": "^23.6.0",
  "mathjs": "^8.1.0",
  "robotjs-node12": "^0.5.3"
},
"devDependencies": {
  "@types/node": "^12.20.55",
  "electron-rebuild": "^2.3.4"
}
  1. 调整postinstall脚本,精准重建目标模块
    原脚本的执行顺序和范围不够精准,改成只针对robotjs-node12强制重建,确保适配Electron环境:
"scripts": {
  "test": "echo \"Error: no test specified\" && exit 1",
  "postinstall": "electron-rebuild -f -w robotjs-node12",
  "start": "electron ."
}

其中-f表示强制重建,-w指定仅处理目标模块,提升效率。

  1. 重新安装依赖并完成编译
    执行安装命令,让electron-rebuild自动针对Electron 11的环境编译native模块:
npm install
  1. 验证启动
    执行启动命令,检查是否解决模块版本不匹配的问题:
npm start

内容的提问来源于stack exchange,提问作者Yang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 20:15:42