【问题标题】:Node Module Version Mismatch: Expected 50节点模块版本不匹配:预期 50
【发布时间】:2016-12-23 15:43:54
【问题描述】:

我遇到了这个问题,从全新安装的 Node 和 npm 中,serial port 包无法加载,并在 Hello World Electron 包中出现以下错误:

我使用的是 Node 6.6.0 版、NPM 3.10.7 版和 OS X 10.11.6。

我查看了我是否过时了,但是查看this list,我找不到任何模块版本为 50 的东西。这是一个错误吗?

我试过npm rebuild,以及删除模块和重新安装,但没有骰子。

更新:即使当我运行 node -v 时它会打印出 v6.6.0,但在 Web 控制台中运行 process.versions.node 会得到 v6.5.0。这是怎么回事?

【问题讨论】:

    标签: node.js electron


    【解决方案1】:

    这是一个known issue,它是由serialport 模块使用为不同版本的Node 构建的本机代码引起的。如果您有兴趣,可以阅读更多关于插件here 的信息;它们只是用 C/C++ 编写的模块,可以与 Node 接口,因此模块可以更轻松地与硬件接口。

    该问题提出的解决方案是这样的:

    npm rebuild --runtime=electron --target=1.2.5 --disturl=https://atom.io/download/atom-shell --build-from-source
    

    如果您尚未安装 electron-rebuild,这可能有助于确保重建过程正常工作:

    npm install --save-dev electron-rebuild
    

    即使当我运行 node -v 时它会打印 v6.6.0,在 Web 控制台中运行 process.versions.node 也会给我 v6.5.0。这是怎么回事?

    Electron 使用自己的 Node 版本,但未连接到您的系统 Node 安装(请参阅 homepage 以查看最新 Electron 使用的 Node 版本,或使用 process.versions.node,就像您在问题中所做的那样) .

    您可以尝试使用旧版本(可能是 1.1.0,它使用 Chrome 50?),以防出现问题。

    【讨论】:

    • 谢谢。我将电子版本更改为 1.3.1(可以正确安装的最低版本)并运行 npm rebuild --runtime=electron --target=1.3.1 --disturl=https://atom.io/download/atom-shell --build-from-source,现在一切正常。
    • 感谢@Aurora0001!它适用于电子 1.4.3,而我的本地节点版本是 4.2.1。
    【解决方案2】:

    在我的情况下,错误是:

    App threw an error during load
    Error: Module version mismatch. Expected 50, got 48.
        at Error (native)
        at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:173:20)
        at Object.Module._extensions..node (module.js:583:18)
        at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:173:20)
        at Module.load (module.js:473:32)
        at tryModuleLoad (module.js:432:12)
        at Function.Module._load (module.js:424:3)
        at Module.require (module.js:483:17)
        at require (internal/module.js:20:19)
        at Object.<anonymous> (/myapp/node_modules/sqlite3/lib/sqlite3.js:4:15)
    

    修复后重建错误:

    npm install --save-dev electron-rebuild
    
    npm rebuild --runtime=electron --target=1.4.3 --disturl=https://atom.io/download/atom-shell --build-from-source
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-03
      • 2018-09-16
      • 2018-04-10
      相关资源
      最近更新 更多