项目使用了electron框架,在第一次打包或者网络条件不好的环境下进行打包时熟速度慢的出奇,甚至经常出现打包失败的情况(如上面图片的报错)。
这是因为,在electron打包的过程中,需要去官方源https://github.com/electron/electron/releases/download/下载一个ZIP包,大概70-80MB左右,这个包的下载站点是github,由于某些原因导致这一步经常出现问题。
既然github上无法下载对应资源,按照往常思路,这时候需要我们去配置国内的镜像源,比如npm常用的淘宝源。
我在网上查到了electron配置淘宝源的一种方法:在terminal中输入这条命令:npm config edit
。
从字面意思上来看,这是一条编辑npm配置文件的命令,输入执行这条命名会打开一个npm配置文件,在配置文件的末尾添加下面两条指令:
registry=https://registry.npm.taobao.org/
ELECTRON_MIRROR=http://npm.taobao.org/mirrors/electron/
这两条命令将下载源改为淘宝镜像,修改之后,重新执行electron打包命令。
配置淘宝镜像之后,并不能保证一定打包成功,下面提供一种一定能够成功的方法
通过阅读上图中的报错信息可以明白,electron之所以打包速度慢甚至报错,是因为在打包的时候需要去往github下载一下资源包,资源包下载失败导致electron打包失败。
既然这样,那我们在打包之前,把所需要的资源包提前下载,然后放在本地制定的位置就好了。
下载资源包的地址:点击下载
按照打包时遇到的问题,我依次下载了一系列文件放置到指定位置:
- 在https://registry.npmmirror.com/binary.html?path=electron/v8.5.5/路径下,下载
electron-v8.5.5-win32-x64.zip
、electron-v8.5.5-win32-ia32.zip
包,放在C:\Users\administrator\AppData\Local\electron\Cache
路径下; - 在https://registry.npmmirror.com/binary.html?path=electron-builder-binaries/winCodeSign-2.6.0/路径下,下载
winCodeSign-2.6.0.7z
包,放在C:\Users\administrator\AppData\Local\electron-builder\Cache\winCodeSign
路径下; - 在https://npm.taobao.org/mirrors/electron-builder-binaries/路径下,下载
nsis-3.0.4.1.7z
包,放在C:\Users\administrator\AppData\local\electron-builder\Cache\nsis
路径下; - 在https://npm.taobao.org/mirrors/electron-builder-binaries/路径下,下载
nsis-resources-3.4.1.7z
包,放在C:\Users\administrator\AppData\local\electron-builder\Cache\nsiss
路径下。
完成上面几个资源包的下载之后,再执行electron打包命令,就可以成功了。