注意,镜像地址应该修改为https而非http也不可以:
ELECTRON_BUILDER_BINARIES_MIRROR=https://npm.taobao.org/mirrors/electron-builder-binaries/
最终的解决方法是,通过淘宝镜像手动下载压缩包,解压后,将整个文件夹放到cache目录下。
- winCodeSign
C:\Users\admin\AppData\Local\electron-builder\Cache\winCodeSign
- nsis
C:\Users\admin\AppData\Local\electron-builder\Cache\nsis
以下转自https://www.azimiao.com/6208.html
在使用 Electron-builder 打包时,有时会卡在 downloading 半天不动,导致打包失败。
问题描述
使用 Electron-builder 打包,有时会在下载Electron
、nsis
、winCodeSign
的过程中 Timeout 导致打包失败(鉴于国内的网络情况)。
• electron-builder version=22.5.1 os=10.0.18362
• loaded configuration file=package.json ("build" field)
• writing effective config file=dist\builder-effective-config.yaml
• packaging platform=win32 arch=x64 electron=8.2.3 appOutDir=dist\win-unpacked
• default Electron icon is used reason=application icon is not set
• downloading url=https://github.com/electron-userland/electron-builder-binaries/releases/download/winCodeSign-2.6.0/winCodeSign-2.6.0.7z size=5.6 MB parts=1
日志中可见, downloading 步骤会依此下载工具链,Timeout 即在于此。
解决方法
-
解决 Electron 下载慢
项目根目录新建.npmrc
文件,加入如下环境变量:ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/
此项将 Electron 镜像源设置为淘宝镜像源。
-
解决 nsis、winCodeSign 下载慢
照猫画虎,在.npmrc
中同样设置ELECTRON_BUILDER_BINARIES_MIRROR
镜像源地址,cnpm 同样提供了对应的镜像源:ELECTRON_BUILDER_BINARIES_MIRROR=http://npm.taobao.org/mirrors/electron-builder-binaries/
这样即可高速下载所需的工具链文件。
选读
在写这篇文章草稿时,淘宝ELECTRON_BUILDER_BINARIES_MIRROR
镜像源是一直挂掉的,如果你用它,会发现 nsis、winCodeSign 压根拉不下来。
2020 年 4 月 25 日,我和一个兄弟评论了对应的 issues#1539 ,而后有个大兄弟把这问题修了。
所以,当时采取的措施是手动下载文件,并将其放置于 Electron-builder 文件夹,这也有必要了解一下。
-
Nsis 存放位置
C:\Users\admin\AppData\Local\electron-builder\Cache\winCodeSign
- winCodeSign 存放位置
C:\Users\admin\AppData\Local\electron-builder\Cache\winCodeSign
将对应版本的文件手动下载后解压至这两个文件夹即可。