electron 打包编译错误

错误

wudi@wudideMacBook-Pro my-vue-app % npm run build

> [email protected] build
> vue-tsc && rimraf dist-electron && vite build && electron-builder

vite v6.0.3 building for production...
✓ 18 modules transformed.
dist-electron/index.html                  0.46 kB │ gzip:  0.30 kB
dist-electron/assets/index-C5LFhdCw.css   1.27 kB │ gzip:  0.65 kB
dist-electron/assets/index-oZJPS2sk.js   61.20 kB │ gzip: 24.64 kB
✓ built in 352ms
vite v6.0.3 building for production...
✓ 1 modules transformed.
dist-electron/main.js  0.54 kB │ gzip: 0.37 kB
✓ built in 8ms
  • electron-builder  version=25.1.8 os=23.4.0
  • loaded configuration  file=package.json ("build" field)
  • description is missed in the package.json  appPackageFile=/Users/wudi/develop/hefeng/desktop/my-vue-app/package.json
  • author is missed in the package.json  appPackageFile=/Users/wudi/develop/hefeng/desktop/my-vue-app/package.json
  • writing effective config  file=release/0.0.0/builder-effective-config.yaml
  • executing @electron/rebuild  electronVersion=33.2.1 arch=arm64 buildFromSource=false appDir=./
  • installing native dependencies  arch=arm64
  • completed installing native dependencies
  • packaging       platform=darwin arch=arm64 electron=33.2.1 appOutDir=release/0.0.0/mac-arm64
  • downloading     url=https://github.com/electron/electron/releases/download/v33.2.1/electron-v33.2.1-darwin-arm64.zip size=100 MB parts=8
  • retrying        attempt=1
  • retrying        attempt=2
  • retrying        attempt=3
  ⨯ part download request failed with status code 401
github.com/develar/app-builder/pkg/download.(*Part).doRequest
        /Users/runner/work/app-builder/app-builder/pkg/download/Part.go:126
github.com/develar/app-builder/pkg/download.(*Part).download
        /Users/runner/work/app-builder/app-builder/pkg/download/Part.go:67
github.com/develar/app-builder/pkg/download.(*Downloader).DownloadResolved.func1.1
        /Users/runner/work/app-builder/app-builder/pkg/download/downloader.go:155
github.com/develar/app-builder/pkg/util.MapAsyncConcurrency.func2
        /Users/runner/work/app-builder/app-builder/pkg/util/async.go:68
runtime.goexit
        /Users/runner/hostedtoolcache/go/1.21.13/arm64/src/runtime/asm_arm64.s:1197  
  ⨯ /Users/wudi/develop/hefeng/desktop/my-vue-app/node_modules/app-builder-bin/mac/app-builder_arm64 process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
Exit code:
1  failedTask=build stackTrace=Error: /Users/wudi/develop/hefeng/desktop/my-vue-app/node_modules/app-builder-bin/mac/app-builder_arm64 process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
Exit code:
1
    at ChildProcess.<anonymous> (/Users/wudi/develop/hefeng/desktop/my-vue-app/node_modules/builder-util/src/util.ts:255:14)
    at Object.onceWrapper (node:events:634:26)
    at ChildProcess.emit (node:events:519:28)
    at maybeClose (node:internal/child_process:1105:16)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:305:5)

解决方案

离线下载压缩包(不要解压)放在npm缓存目录(/Users/wudi/Library/Caches/electron/),注意将压缩包, 同时签名文件也要放入缓存目录。 签名文件需要重命名 SHASUMS256.txt-33.2.1 这样的格式,对应版本号

macos:/Users/wudi/Library/Caches