导致 Electron 的资源文件无法正常下载。错误提示中提到了 proxyconnect 的问题,可能是由于代理设置或网络连接的原因

52 阅读2分钟

报错

writing effective config file=dist_electron\builder-effective-config.yaml • packaging platform=win32 arch=x64 electron=28.1.4 appOutDir=dist_electron\win-unpacked ⨯ Get "https://github.com/electron/electron/releases/download/v28.1.4/electron-v28.1.4-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 /Volumes/data/Documents/app-builder/pkg/download/downloader.go:206 github.com/develar/app-builder/pkg/download.(*Downloader).follow /Volumes/data/Documents/app-builder/pkg/download/downloader.go:234 github.com/develar/app-builder/pkg/download.(*Downloader).DownloadNoRetry /Volumes/data/Documents/app-builder/pkg/download/downloader.go:128 github.com/develar/app-builder/pkg/download.(*Downloader).Download /Volumes/data/Documents/app-builder/pkg/download/downloader.go:112 github.com/develar/app-builder/pkg/electron.(*ElectronDownloader).doDownload /Volumes/data/Documents/app-builder/pkg/electron/electronDownloader.go:192 github.com/develar/app-builder/pkg/electron.(*ElectronDownloader).Download /Volumes/data/Documents/app-builder/pkg/electron/electronDownloader.go:177 github.com/develar/app-builder/pkg/electron.downloadElectron.func1.1 /Volumes/data/Documents/app-builder/pkg/electron/electronDownloader.go:73 github.com/develar/app-builder/pkg/util.MapAsyncConcurrency.func2 /Volumes/data/Documents/app-builder/pkg/util/async.go:68 runtime.goexit /usr/local/Cellar/go/1.17/libexec/src/runtime/asm_amd64.s:1581 ⨯ E:\bielCode\atel-log-portal\node_modules\app-builder-bin\win\x64\app-builder.exe process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE Exit code: 1 failedTask=build stackTrace=Error: E:\bielCode\atel-log-portal\node_modules\app-builder-bin\win\x64\app-builder.exe process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE

原因

看起来你仍然遇到了网络问题,导致 Electron 的资源文件无法正常下载。错误提示中提到了 proxyconnect 的问题,可能是由于代理设置或网络连接的原因。

解决方案

以下是一些可能的解决方案:

  1. 检查代理设置: 如果你在使用代理,请确保代理设置正确,并且没有阻止对 GitHub 等站点的连接。你可以在系统或 npm 的配置中查看和修改代理设置。

    bashCopy code
    # 查看 npm 代理设置
    npm config get proxy
    
    # 设置 npm 代理(替换 YOUR_PROXY_URL)
    npm config set proxy YOUR_PROXY_URL
    npm config set https-proxy YOUR_PROXY_URL
    

    如果你在使用公司或学校网络,还可能需要联系网络管理员获取正确的代理设置。

  2. 使用淘宝镜像: 切换 npm 镜像到淘宝镜像,看是否能够解决下载问题。

    bashCopy code
    npm config set registry https://registry.npm.taobao.org/
    

    运行上述命令后,重新执行 npx electron-builder

  3. 手动下载 Electron 资源文件:Electron 官方发布页面手动下载 Electron 资源文件,将其解压缩到 node_modules/electron/dist 目录下。确保下载的版本与你的构建配置一致。

    请注意,手动下载的方法只是一个绕过网络问题的临时解决方案,确保你在生产环境中能够解决网络问题。

  4. 直接使用 Electron 版本号: 在你的 package.json 文件中,将 electron 版本锁定到一个已知可用的版本,而不是使用 latest

    jsonCopy code
    "devDependencies": {
      "electron": "28.1.4"
    }
    

    然后再次运行 npx electron-builder