当前位置: 首页 > news >正文

【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对应版本的最新版本

npm install -g npm

3. 安装cnpm

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

npm install -g cnpm --registry=https://registry.npmmirror.com

如果已经安装了cnpm,直接更新
注意设置镜像源为 https://registry.npmmirror.com

cnpm i -g cnpm
cnpm config set registry https://registry.npmmirror.com

4. 清除npm缓存

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

npm cache clean --force

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

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


http://www.mrgr.cn/news/7155.html

相关文章:

  • 在 FPGA 上实现以太网的“低级”指南
  • WRF-LES与PALM微尺度气象大涡模拟实践技术应用
  • 设计模式六大原则之一的接口隔离原则
  • 前端面试——什么是原型和原型链
  • EasyExcel 导入计算公式导出展示字符串问题(SUM)
  • vue3 多文件下载zip压缩包
  • 基于AT32F421的开源电调项目测试
  • 获取当前时间戳
  • Nginx配置负载均衡
  • 如何使用 Java 中的 API 更改 PDF 纸张大小
  • 『基础』线性代数-1行列式
  • 【吊打面试官系列-Memcached面试题】memcached 能接受的 key 的最大长度是多少?
  • 亚信科技转型持久战:扎根行业大模型,深耕行业数字化
  • 户用光伏项目如何操作?
  • 鸿蒙 点击获取电话号拨打电话 @ohos.telephony.call (拨打电话)
  • 【机器翻译方向】数据集合集!
  • 在JavaScript中,如何实现异步编程?
  • Linux驱动入门实验班——DAC模块驱动(附百问网视频链接)
  • [ACTF新生赛2020]music附赠支持多国语言Fuzz语音转录文本翻译软件下载安装使用简介
  • 【jvm】程序计数器的特征