注意,鏡像地址應該修改為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
將對應版本的文件手動下載后解壓至這兩個文件夾即可。