电子串行端口 NODE_MODULE_VERSION 错误和重建无法修复

serialport for electron NODE_MODULE_VERSION error and rebuild does not fix

OS: 赢 10 Node.js:v12.18.3 电子:v10.1.1

js程序打印版本: process.versions.node 12.16.3 process.versions.modules82

  1. 通过以下方式安装串口: npm 安装串口

  2. npm start 报错:

错误:模块'\?\D:\node\Tester\node_modules@serialport\bindings\build\Release\bindings.node' 是针对不同的 Node.js 版本编译的 NODE_MODULE_VERSION72.这个版本Node.js需要 NODE_MODULE_VERSION82.请重新编译或重新安装试试 模块(例如,使用 npm rebuildnpm install)。

  1. npm install --save-dev electron-rebuild .\node_modules.bin\electron-rebuild

重建完成

  1. npm 开始 又报错了。

错误:模块'\?\D:\node\Tester\node_modules@serialport\bindings\build\Release\bindings.node' 是针对不同的 Node.js 版本编译的 NODE_MODULE_VERSION72.这个版本Node.js需要 NODE_MODULE_VERSION82.请重新编译或重新安装试试 模块(例如,使用 npm rebuildnpm install)。

需要注意的是,v12.18.3 和 12.16.3 都有 NODE_MODULE_VERSION72,没有一个版本是 82。 我不知道'82'来自哪里。 我怎样才能解决它? 谢谢。

今天早上我遇到了同样的问题。经过 5 个多小时的故障排除,唯一对我有用的是将 electron-rebuild 降级到 v2.0.1。我正在使用节点 v14.9.0(最新)、电子 v10.1.1(最新)、串行端口 v9.0.1(最新)

他们似乎有未解决的问题:https://github.com/electron/electron-rebuild/issues/404

我遇到了同样的问题。最后,我可以通过一些步骤解决这个问题。他们来了。

1。安装 electron-rebuild

npm install --save-dev electron-rebuild

2。 运行 一些脚本

在 MacOS 上,运行 这个

./node_modules/.bin/electron-rebuild

在 Windows 上,尝试:

.\node_modules\.bin\electron-rebuild.cmd

3。在package.json

中添加启动脚本
"rebuild": "electron-rebuild -f -w serialport"

4。重建项目

npm run rebuild

希望对您有所帮助。祝你有美好的一天。