繁体   English   中英

Electron:__ 是针对不同版本的 Node.js 编译的

[英]Electron: __ was compiled against a different version of Node.js

当尝试使用 electron-installer-dmg 在 macOS Sierra 上打包电子应用程序时,我得到以下信息:

Error: The module '/Users/august/projects/node_modules/macos-alias/build/Release/volume.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 54. This version of Node.js requires
NODE_MODULE_VERSION 57. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
at Object.Module._extensions..node (module.js:598:18)<br>
at Module.load (module.js:503:32)<br>
at tryModuleLoad (module.js:466:12)<br>
at Function.Module._load (module.js:458:3)<br>
at Module.require (module.js:513:17)<br>
at require (internal/module.js:11:18)<br>
at Object.<anonymous> (/Users/august/projects/node_modules/macos-alias/lib/create.js:7:13)<br>
at Module._compile (module.js:569:30)<br>
at Object.Module._extensions..js (module.js:580:10)<br>
at Module.load (module.js:503:32)<br>

版本:

Node 8.0.0
npm: 5.4
electron: 1.7.5
electron-installer-dmg: 0.2.1
electron-packager: 8.7.2
macos-alias: 0

我试过:

  • 切换节点版本。
  • 运行./node_modules/.bin/electron-rebuild
  • 删除 node_modules 并运行npm install
  • 运行npm cache clear并重新安装软件包
  • 运行npm rebuild
  • 设置 .npmrc 文件:

     runtime = electron target = 1.7.5 target_arch = x64 disturl = https://atom.io/download/atom-shell

这个问题有什么解决办法吗?

Electron 1.7.5使用:

  • 节点:7.9.0
  • 铬:58.0.3029.110
  • V8:5.8.283.38

只有使用相同版本的 Node 编译的包才能工作。 尝试将您的 Node 版本降级到 7.9(您可以在此处找到安装程序)并从头开始尝试整个过程。

如果您使用electron-builder来构建您的电子项目。 你需要运行这个命令electron-builder install-app-deps

将此命令添加到 package.json 的脚本中,以确保您的本机依赖项始终匹配电子版本。

{
    "scripts": {
       "postinstall": "electron-builder install-app-deps",
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM