electron错误:Downloading Electron binary... fetch error
!!!诸如此类的基本都是在下载Electron Binary文件的时候出错的(国服特色)
解决方法也很简单,使用缓存!
- 确定缓存位置,一般放在
%LocalAppData%\electron\Cache这个位置 - 下载binary文件,推荐从国内镜像站点下载,比如 https://registry.npmmirror.com/binary.html?path=electron
- 根据目标版本计算缓存文件夹的名称(SHA256),比如我下载的是electron-v42.5.0-win32-x64.zip
- 它的SHA计算输入是
https://github.com/electron/electron/releases/download/v42.5.0 - 结果是
59ea157472003d1145e536a90686ae143ddd5bd99ef5b2bda2683be25aabe516 - 那么文件夹的名称就是这个,创建按此命名的文件夹
- 它的SHA计算输入是
- 把zip文件放到文件夹里
- 确认环境变量
electron_config_cache和第一步的一致,如果不一致,手动修改或添加下即可(可能需要重启终端/IDE/电脑,视情况而定) - 然后再去运行的时候,缓存就能命中了!
机制解析
- electron/install.js负责二进制文件的下载,其中有个关键的函数,叫
downloadArtifact,下载出错的时候可能会看到它。 - 下载的时候有个参数,
cacheRoot: process.env.electron_config_cache,表明它试图从环境变量获取缓存路径,表明它有缓存机制! - 进一步,它会根据目标版本,计算缓存文件的路径,如果发现缓存存在,就会
Cache hit,然后尝试使用缓存。
我记得旧版的时候好像直接把zip扔到缓存根目录就行了,也没有这个环境变量的需要。。。还是之前歪打正着?也懒得计较了~😑

浙公网安备 33010602011771号