电子应用程序抛出版本模块版本不匹配错误。 预计49,得到48

更新节点到6.3.0后,我尝试运行电子应用程序。

我更新所有依赖到最新,当我尝试运行应用程序,它抛出以下错误,

 /Volumes/Shankar_Drive/Work/git/safe_launcher/testApp/node_modules/bindings/bindings.js:83 throw e ^ Error: Module version mismatch. Expected 49, got 48. at Error (native) at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:167:20) at Object.Module._extensions..node (module.js:568:18) at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:167:20) at Module.load (module.js:458:32) at tryModuleLoad (module.js:417:12) at Function.Module._load (module.js:409:3) at Module.require (module.js:468:17) at require (internal/module.js:20:19) at bindings (/Volumes/Shankar_Drive/Work/git/safe_launcher/testApp/node_modules/bindings/bindings.js:76:44) 

我试过npm cache clean && npm install ,同时也删除了node_modules文件夹,运行npm install no use。

我甚至尝试过在特定模块('ffi'和'ref')上进行electron-rebuild ,但没有使用环境我运行这些:

node 6.3.0

npm 3.8.6

electron-prebuild 1.3.1

请有人帮我。 提前致谢。

我刚创build了一个shell脚本来处理Electron的这个问题。 为什么? 因为删除node_modules并不总是工作,所以很多人都有这个问题。 没有特殊标志的简单重build也不一定有效。

该脚本将目标abi版本作为第一个参数,并自动检测您的Electron版本。 你可以select通过你的电子版作为第二个参数,但99%的“预期”abi版本应该是足够的。

这里是: https : //github.com/TomAshley303/electron-abi-fix

只需将其放到您的项目目录中,然后运行:sh electron-abi-fix.sh 49

(如果49是您错误中预期的abi版本)。 您也可以传递Electron版本作为第二个参数,但不需要。