Node.js Electron应用程序抛出版本模块版本不匹配错误。期望49,得到48

Node.js Electron应用程序抛出版本模块版本不匹配错误。期望49,得到48,node.js,npm,electron,Node.js,Npm,Electron,在将节点更新为6.3.0之后,我尝试运行electron应用程序 我将所有依赖项更新为最新版本,当我尝试运行应用程序时,它会抛出以下错误 /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 Err

在将节点更新为
6.3.0
之后,我尝试运行electron应用程序

我将所有依赖项更新为最新版本,当我尝试运行应用程序时,它会抛出以下错误

/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缓存清理和&npm安装
,还删除了
node\u模块
文件夹,然后运行
npm安装
没有用

我甚至试着在特定的模块上进行
electron-rebuild
,比如说('ffi'和'ref'),但没有用 我运行以下环境:

节点6.3.0

npm 3.8.6

electron预构建1.3.1


请有人帮帮我。提前感谢。

我刚刚创建了一个shell脚本,专门为Electron处理这个问题。为什么?因为删除node_模块并不总是有效,很多人都有这个问题。没有特殊标志的简单重建也不一定有效

此脚本将目标abi版本作为第一个参数,并自动检测您的电子版本。您可以选择将您的electron版本作为第二个参数传递,但99%的时间“预期”abi版本就足够了

这是:

只需将其放入项目目录并运行:sh electron-abi-fix.sh 49


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

我也有类似的问题。我开始使用两个package.json文件构建这个问题,这个问题看起来像是重复的,但事实并非如此,因为它可能需要一个带有Electron的专门命令。请参阅我的答案和脚本。可能的副本