【Electron】桌面应用开发electron-builder打包报错问题处理

Electron 桌面应用开发electron-builder打包过程中各种报错问题处理

前一篇有写过 Electron 桌面应用开发快速入门到打包Windows应用程序

在安装到打包的整个过程中,我们都会遇到很多诡异的问题,接下来我将介绍我遇到的几个问题的解决方案

一、拉包的时候报错

npm install electron --save-dev 和 npm install electron-builder --save-dev的时候报错

报错Install fail! Error: Unsupported URL Type: npm:string-width@^4.2.0 或 RequestError:connect ETIMEDOUT 20.205.243.166:443

一般是由于node版本和npm版本太低所致

建议使用cnpm镜像安装拉包会快一点

1. 更新Node版本

Node版本更新至v14.17.0以上,建议更新最新版本

2. 更新npm版本

npm版本更新至node对应版本的最新版本

javascript 复制代码
npm install -g npm

3. 安装cnpm

安装 cnpm 并设置镜像源为 https://registry.npmmirror.com

javascript 复制代码
npm install -g cnpm --registry=https://registry.npmmirror.com

如果已经安装了cnpm,直接更新

注意设置镜像源为 https://registry.npmmirror.com

javascript 复制代码
cnpm i -g cnpm
cnpm config set registry https://registry.npmmirror.com

4. 清除npm缓存

升级完版本,基本拉包 90% 的问题都可以解决,如果还没有解决,可以清除npm缓存来处理

javascript 复制代码
npm cache clean --force

如果继续报错Install fail! Error: Unsupported URL Type: npm:string-width@4.2.0,需要手动更新npm版本为最新,再清楚缓存,再安装string-width@4.2.0

javascript 复制代码
npm install -g npm@latest
npm cache clean --force
npm install string-width@^4.2.0

二、electron-builder打包报错

electron-builder打包时报错【process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE】

发现是electron-builder打包需要的三个关键文件下载失败问题

winCodeSign-2.6.0.7z

nsis-resources-3.4.1.7z

Get nsis-3.0.4.1.7z

1. 手动下载这三个包

electron-userland/electron-builder-binaries

链接中找到对应的三个版本的包,下载压缩包

2. 解压三个文件放Electron-builder缓存中

整个解压三个文件,放到对应的缓存位置中

默认路径一般是在C盘的 AppData\Local 文件夹下,例如:【C:\Users\Lenovo\AppData\Local】

打开electron-builder文件夹下的Cache文件夹,在Cache文件夹里面放解压后的缓存文件

winCodeSign-2.6.0


nsis-resources-3.4.1


nsis-3.0.4.1

三、 重新打包

重新打包后会成功

如果还出现报错:cannot execute cause=exit status 1 errorOut=Fatal error: Unable to commit changes

可以关闭相关杀毒软件,再次执行打包程序就不会出现以上错误提示了(网上有人遇到过,我暂时没遇到这种问题)

相关推荐
努力往上爬de蜗牛12 小时前
react native 运行问题和调试 --持续更新
javascript·react native·react.js
eason_fan13 小时前
Monorepo性能噩梦:一行配置解决VSCode卡顿与TS类型崩溃
前端·typescript·visual studio code
天天进步201513 小时前
Webpack到Vite:构建工具迁移实战经验总结
前端·webpack·node.js
0***1413 小时前
免费的WebAssembly模块打包,Webpack配置
前端·webpack·wasm
小胖学前端13 小时前
解决 uniapp H5 与原生应用通信的坑:一个经过实战验证的解决方案
前端·uni-app
LaoZhangAI13 小时前
Gemini 2.5 Flash Image API尺寸设置完整指南:10种宽高比详解
前端·后端
kangyouwei13 小时前
鸿蒙开发:19-本地开发配置bash环境执行hvigorw命令
前端·harmonyos
Achieve前端实验室14 小时前
JavaScript 原型/原型链
前端·javascript
一碗下酒菜14 小时前
React 闭包陷阱详解
前端
littleplayer14 小时前
ArkTs单元测试 UnitTest 指南
前端