【问题标题】:Electron app throw version Module version mismatch error. Expected 49, got 48Electron 应用程序抛出版本模块版本不匹配错误。预期 49,得到 48
【发布时间】:2016-12-09 01:24:55
【问题描述】:

在将节点更新为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 没用。

我什至在特定模块上尝试了electron-rebuild 说('ffi' 和 'ref'),但没有用 我运行这些的环境:

node 6.3.0

npm 3.8.6

electron-prebuild 1.3.1

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

【问题讨论】:

标签: node.js npm electron


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 1970-01-01
    • 2018-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多