electron-builder-binaries 镜像不完整
Closed this issue · 15 comments
当前:https://npm.taobao.org/mirrors/electron-builder-binaries/
缺失的部分文件:https://github.com/electron-userland/electron-builder-binaries/tags?after=v4.1.0
没有看 cnpmjs.org 的实现逻辑,感觉是没有完整同步?
是有这个问题。现在改用华为云的镜像了。华为云上的比npmmirror完整。
https://mirrors.huaweicloud.com/electron-builder-binaries/
好像是处理GitHub的API https://api.github.com/repos/%s/releases 的时候没有分页,所以缺失了数据。
https://github.com/cnpm/mirrors/blob/master/sync/github.js#L65
好像是改的这里解决的问题 cnpm/cnpmcore#152
⨯ cannot resolve https://npmmirror.com/mirrors/electron/12.0.8/electron-v12.0.8-win32-x64.zip: status code 404
github.com/develar/app-builder/pkg/download.(*Downloader).follow
/Volumes/data/Documents/app-builder/pkg/download/downloader.go:237
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.16.5/libexec/src/runtime/asm_amd64.s:1371
现在 ELECTRON_BUILDER_BINARIES_MIRROR
和 ELECTRON_MIRROR
地址应该是什么?
使用下面的URL有问题。
ELECTRON_BUILDER_BINARIES_MIRROR = "https://npmmirror.com/mirrors/electron-builder-binaries/"
ELECTRON_MIRROR = "https://npmmirror.com/mirrors/electron/"
https://npmmirror.com/mirrors/electron/v12.0.8/electron-v12.0.8-win32-x64.zip 路径少了一个 v
地址是electron builder生成的。
加一个环境变量
ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/
加一个环境变量
ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/
加过了。
INFO Building app with electron-builder:
• electron-builder version=22.14.5 os=10.0.19044
• writing effective config file=dist_electron\builder-effective-config.yaml
• packaging platform=win32 arch=x64 electron=12.0.8 appOutDir=dist_electron\win-unpacked
⨯ cannot resolve https://npmmirror.com/mirrors/electron/12.0.8/electron-v12.0.8-win32-x64.zip: status code 404
github.com/develar/app-builder/pkg/download.(*Downloader).follow
/Volumes/data/Documents/app-builder/pkg/download/downloader.go:237
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.16.5/libexec/src/runtime/asm_amd64.s:1371
ExecError: D:\workspace\Tracing-Simulation-Platform\node_modules\app-builder-bin\win\x64\app-builder.exe exited with code ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
at ChildProcess.<anonymous> (D:\workspace\Tracing-Simulation-Platform\node_modules\builder-util\src\util.ts:250:14)
at Object.onceWrapper (node:events:510:26)
at ChildProcess.emit (node:events:390:28)
at ChildProcess.cp.emit (D:\workspace\Tracing-Simulation-Platform\node_modules\builder-util\node_modules\cross-spawn\lib\enoent.js:34:29)
at maybeClose (node:internal/child_process:1064:16)
at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5) {
exitCode: 1,
alreadyLogged: false,
code: 'ERR_ELECTRON_BUILDER_CANNOT_EXECUTE'
}
@meteormatt 提供一个可以复现的代码库或者命令?
@meteormatt 提供一个可以复现的代码库或者命令?
我给几个命令吧。
npm install electron-builder -g
在当前目录创建package.json
{
"name": "test",
"version": "0.0.1",
"devDependencies": {
"electron": "^12.2.3"
},
"build": {
"electronDownload": {
"mirror": "https://npmmirror.com/mirrors/electron/"
}
}
}
执行
npm install
electron-builder
看了下可能是electron builder会把v去掉,可能是当年为了兼容npm.taobao.org 😅
electron/get#125
electron/get#150
https://github.com/electron/get/blob/main/src/artifact-utils.ts#L59
@meteormatt "mirror": "https://npmmirror.com/mirrors/electron/v"
你加一个 v 在 url 配置上,应该就 OK 了。
@meteormatt "mirror": "https://npmmirror.com/mirrors/electron/v"
你加一个 v 在 url 配置上,应该就 OK 了。
可以是可以,就是解决方案不太好。应该在npmmirror.com上兼容以前的不加v的情况。。。
@meteormatt "mirror": "https://npmmirror.com/mirrors/electron/v"
你加一个 v 在 url 配置上,应该就 OK 了。可以是可以,就是解决方案不太好。应该在npmmirror.com上兼容以前的不加v的情况。。。
不会再增加特殊逻辑,官方的源站有 v 就有 v,没有就没有。electron 从 7.0.0 开始是带 v 的,之前是不带的。