electron 打包文件下载失败的处理

935 阅读1分钟

换源,重要(有梯子可以无视)。

pnpm config set registry https://registry.npmmirror.com
pnpm config set electron_mirror https://npmmirror.com/mirrors/electron/

换源的目的在于打包失败(文件下载出错)时,可以手动下载,换源后的地址手动在浏览器下载会非常快。 比如以下的错误:

⨯ Get "https://npmmirror.com/mirrors/electron-builder-binaries/nsis-resources-3.4.1/nsis-resources-3.4.1.7z": proxyconnect tcp: dial tcp :0: connectex: The requested address is not valid in its context.
github.com/develar/app-builder/pkg/download.(*Downloader).follow.func1
......

当下载nsis-resources出现错误时,可以手动复制错误中的地址到浏览器下载。

copy: https://npmmirror.com/mirrors/electron-builder-binaries/nsis-resources-3.4.1/nsis-resources-3.4.1.7z

处于https://npmmirror.com/下的资源国内下载速度飞起。 不换源的错误如下:

⨯ Get "https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-resources-3.4.1/nsis-resources-3.4.1.7z": proxyconnect tcp: dial tcp :0: connectex: The requested address is not valid in its context.
github.com/develar/app-builder/pkg/download.(*Downloader).follow.func1
......

处于https://github.com/下的资源国内下载速度极慢。 打包需要的四个文件:

  • winCodeSign-2.6.0
  • nsis-3.0.4.1
  • nsis-resources-3.4.1
  • electron-v20.3.3-win32-x64.zip 不要去网文到处翻这几个文件的下载地址,因为不同的electron、electron-builder使用的文件版本并不相同。文件最佳的获取地址就是报错信息

文件 winCodeSign、nsis、nsis-resources

目录: %LOCALAPPDATA%\electron-builder\Cache\ winCodeSign

// 可以从错误信息获得正确的文件下载地址
⨯ Get "https://npmmirror.com/mirrors/electron-builder-binaries/winCodeSign-2.6.0/winCodeSign-2.6.0.7z": proxyconnect tcp: dial tcp :0: connectex: The requested address is not valid in its context.
github.com/develar/app-builder/pkg/download.(*Downloader).follow.func1
......
winCodeSign\解压到此
eg: winCodeSign\winCodeSign-2.6.0

nsis

// 可以从错误信息获得正确的文件下载地址
⨯ Get "https://npmmirror.com/mirrors/electron-builder-binaries/nsis-3.0.4.1/nsis-3.0.4.1.7z": proxyconnect tcp: dial tcp :0: connectex: The requested address is not valid in its context.
github.com/develar/app-builder/pkg/download.(*Downloader).follow.func1
......
nsis\解压到此
eg: nsis\nsis-3.0.4.1

nsis-resources

// 可以从错误信息获得正确的文件下载地址
⨯ Get "https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-resources-3.4.1/nsis-resources-3.4.1.7z": proxyconnect tcp: dial tcp :0: connectex: The requested address is not valid in its context.
github.com/develar/app-builder/pkg/download.(*Downloader).follow.func1
......
nsis\解压到此
eg: nsis\nsis-resources-3.4.1

注意:nsis-resources和nsis为同一目录nsis下。

文件 electron-v20.3.3-win32-x64.zip

下载后放到 %LOCALAPPDATA%\electron\Cache 目录下即可,无需解压

// 可以从错误信息获得正确的文件下载地址
⨯ Get "https://npmmirror.com/mirrors/electron/20.3.3/electron-v20.3.3-win32-x64.zip": proxyconnect tcp: dial tcp :0: connectex: The requested address is not valid in its context.
github.com/develar/app-builder/pkg/download.(*Downloader).follow.func1
......
eg: electron\Cache\electron-v20.3.3-win32-x64.zip