2

尝试使用 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
    

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

4

2 回答 2

1

Electron 1.7.5使用:

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

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

于 2017-09-04T12:03:33.893 回答
0

如果您正在使用electron-builder构建您的电子项目。您需要运行此命令electron-builder install-app-deps

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

{
    "scripts": {
       "postinstall": "electron-builder install-app-deps",
    }
}
于 2020-09-15T10:47:19.443 回答