electron-builder - Electron-Builder 为本地依赖安装了错误的预构建(串行端口)
问题描述
我一直在尝试将 serialport npm 模块集成到电子应用程序中。我将它导入到我的主进程中,并将其作为外部文件保存在我的 webpack 配置中。我正在使用以下内容:
- 节点 13.2.0
- 串口 9.0.0
- 电子9.0.5
- 电子生成器 22.7.0
从我的 package.json 中:
"scripts": {
"start": "electron .",
"build": "npm-run-all --parallel build:main build:renderer",
"build:main": "webpack --config ./webpack.config.main.js --mode production",
"build:renderer": "webpack --config ./webpack.config.renderer.js --mode production",
"pack": "npm run-script build && electron-builder --dir",
"dist": "npm run-script build && electron-builder"
},
"repository": "https://github.com/electron/electron-quick-start",
"build": {
"appId": "my_app",
"files": [
"build/**/*",
"node_modules/**/*"
]
},
我的问题是,当我运行我的“dist”脚本时,electron-builder 使用了我认为错误的 chrome 目标。这是输出:
• build native dependency from sources name=@serialport/bindings
version=9.0.0
platform=win32
arch=x64
reason=prebuild-install failed with error (run with env DEBUG=electron-builder to get more information)
error=prebuild-install info begin Prebuild-install version 5.3.4
prebuild-install WARN install prebuilt binaries enforced with --force!
prebuild-install WARN install prebuilt binaries may be out of date!
prebuild-install info looking for cached prebuild @ C:\Users\Me\AppData\Roaming\npm-cache\_prebuilds\90024b-bindings-v9.0.0-electron-v80-win32-x64.tar.gz
prebuild-install http request GET https://github.com/serialport/node-serialport/releases/download/@serialport/bindings@9.0.0/bindings-v9.0.0-electron-v80-win32-x64.tar.gz
prebuild-install http 404 https://github.com/serialport/node-serialport/releases/download/@serialport/bindings@9.0.0/bindings-v9.0.0-electron-v80-win32-x64.tar.gz
prebuild-install WARN install No prebuilt binaries found (target=9.0.5 runtime=electron arch=x64 libc= platform=win32)
我还没有尝试将预构建的二进制文件手动安装到该本地缓存位置。但是,我不知道 electron-builder 如何或为什么要寻找不存在的 v80 版本。电子版本 9.0.0 根据他们的版本使用 v83 作为目标,并且 serialport在这里也有一个 v83 版本。我在这里缺少的设置或版本配置有什么问题吗?电子制造商是如何做出这个决定的?
我尝试过的其他事情:
- “npmRebuild = false”构建标志:导致可执行文件出错。
- 电子重建:电子制造商不推荐
解决方案
推荐阅读
- python - SYS.STDIN 的 read() 方法等 - 从哪里获取更多信息?
- git - 使用 git 显示过去 24 小时内的聚合“单词更改”
- node.js - node-gyp 针对错误的 NODE_MODULE_VERSION 进行编译
- netflix-eureka - 如何配置备用 SSL 属性以连接到 Spring Boot Admin?
- visual-studio-code - 如何在树莓派上安装 VSCode
- javascript - 对文本有更多控制的 TextArea 的替代品?
- c# - Excel 12.0 Interop 使用 C# 在 Excel 2016 上随机运行
- hadoop2 - 我们可以在现有集群中将 ambari 配置为非 root 用户吗
- javascript - 当我在 IE 浏览器中检查元素时,角度计时器起作用
- python - 如何通过 qcut 获取 bin 值