我正在尝试使用节点模块easymidi,该模块取决于电子应用程序中的midi模块。
我运行npm start
时发生错误:
错误:模块'/var/www/html/mdi/node_modules/midi/build/Release/midi.node' 使用不同的Node.js版本编译 NODE_MODULE_VERSION 46.此版本的Node.js需要 NODE_MODULE_VERSION 73.请尝试重新编译或重新安装 模块(例如,使用
npm rebuild
或npm install
)
我确实尝试按照nodejs documentation中所述使用electron-rebuild
,但错误仍然存在。
有人知道该怎么办吗?
答案 0 :(得分:1)
更新(2019年12月)
似乎使用最新版本的 electron-builder (版本21.2.0),您可以删除 electron-rebuild 依赖项,而只需添加“安装后脚本”像这样,根据 electron-builder 的警告:
如果使用电子生成器(...),则不需要电子重建
确保您的本机依赖性始终与电子匹配 版本,只需将脚本
AER::tobit(., robust=TRUE)
添加到package.json中即可。
原始答案
发生此问题是因为 electron 使用其自己的 Node.js 实例以及另一个版本。
您可以使用以下命令查看 electron 使用的Node ABI版本:
"postinstall": "electron-builder install-app-deps"
您可以将其与当前 Node.js 的version进行比较。
我通过使用电子重建解决了完全相同的错误:
./node_modules/.bin/electron -a
您可以在npm install --save-dev electron-rebuild
./node_modules/.bin/electron-rebuild midi
中使用此命令添加“后安装”脚本,以自动执行该过程。