快速解决electron-builder打包时下载依赖慢的问题

 更新时间:2024年02月04日 10:20:14   作者:梓miao出没  
使用 Electron-builder 打包,有时会在下载Electron、nsis、winCodeSign的过程中 Timeout 导致打包失败,本文给大家分享快速解决electron-builder打包时下载依赖慢的问题,感兴趣的朋友一起看看吧

在使用 Electron-builder 打包时,有时会卡在 downloading 半天不动,导致打包失败。

问题描述

使用 Electron-builder 打包,有时会在下载Electron、nsis、winCodeSign的过程中 Timeout 导致打包失败(鉴于国内的网络情况)。

  • electron-builder  version=22.5.1 os=10.0.18362
  • loaded configuration  file=package.json ("build" field)
  • writing effective config  file=dist\builder-effective-config.yaml
  • packaging       platform=win32 arch=x64 electron=8.2.3 appOutDir=dist\win-unpacked
  • default Electron icon is used  reason=application icon is not set
  • downloading     url=https://github.com/electron-userland/electron-builder-binaries/releases/download/winCodeSign-2.6.0/winCodeSign-2.6.0.7z size=5.6 MB parts=1

日志中可见, downloading 步骤会依此下载工具链,Timeout 即在于此。

解决方法

1.解决 Electron 下载慢
项目根目录新建.npmrc文件,加入如下环境变量:

ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/

此项将 Electron 镜像源设置为淘宝镜像源。

2.解决 nsis、winCodeSign 下载慢
照猫画虎,在.npmrc中同样设置ELECTRON_BUILDER_BINARIES_MIRROR镜像源地址,cnpm 同样提供了对应的镜像源:

ELECTRON_BUILDER_BINARIES_MIRROR=http://npm.taobao.org/mirrors/electron-builder-binaries/

这样即可高速下载所需的工具链文件。

选读
在写这篇文章草稿时,淘宝ELECTRON_BUILDER_BINARIES_MIRROR镜像源是一直挂掉的,如果你用它,会发现 nsis、winCodeSign 压根拉不下来。

2020 年 4 月 25 日,我和一个兄弟评论了对应的 issues#1539 ,而后有个大兄弟把这问题修了。

所以,当时采取的措施是手动下载文件,并将其放置于 Electron-builder 文件夹,这也有必要了解一下。

Nsis 存放位置
C:\Users\admin\AppData\Local\electron-builder\Cache\winCodeSign

winCodeSign 存放位置

C:\Users\admin\AppData\Local\electron-builder\Cache\winCodeSign

将对应版本的文件手动下载后解压至这两个文件夹即可。

到此这篇关于快速解决electron-builder打包时下载依赖慢的问题的文章就介绍到这了,更多相关electron-builder打包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue路由分文件拆分管理详解

    vue路由分文件拆分管理详解

    这篇文章主要介绍了vue路由分文件拆分管理详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • 前端vue面试总问watch和computed区别及建议总结

    前端vue面试总问watch和computed区别及建议总结

    在现代前端的面试中,vue和react是面试过程中基本必问的技术栈,其中Vue响应式话题,watch和computed是面试官非常喜欢聊的主题,虽然watch和computed它们都用于监听数据的变化,但它们在实现原理、使用场景和行为上有着显著的区别,本文将深入探讨,并提供一些面试过程中的建议
    2023-10-10
  • Vue cli3 chainWepack使用方法示例详解

    Vue cli3 chainWepack使用方法示例详解

    这篇文章主要为大家介绍了Vue cli3 chainWepack使用方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • vue+django实现一对一聊天功能的实例代码

    vue+django实现一对一聊天功能的实例代码

    这篇文章主要介绍了vue+django实现一对一聊天功能,主要是通过websocket,由于Django不支持websocket,所以我使用了django-channels。,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2019-07-07
  • 解决报错ValidationError: Progress Plugin Invalid Options问题

    解决报错ValidationError: Progress Plugin Invalid&

    这篇文章主要介绍了解决报错ValidationError: Progress Plugin Invalid Options问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • VueJs 将接口用webpack代理到本地的方法

    VueJs 将接口用webpack代理到本地的方法

    本篇文章主要介绍了VueJs 将接口用webpack代理到本地的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Vue中如何对ElementUI的Dialog组件封装

    Vue中如何对ElementUI的Dialog组件封装

    这篇文章主要介绍了Vue中如何对ElementUI的Dialog组件封装问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 使用Vue-scroller页面input框不能触发滑动的问题及解决方法

    使用Vue-scroller页面input框不能触发滑动的问题及解决方法

    这篇文章主要介绍了使用Vue-scroller页面input框不能触发滑动的问题,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • 谈谈Vue中的nextTick

    谈谈Vue中的nextTick

    Vue.nextTick是Vue官方给我们提供的一个API(方法),作用是在下次DOM更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的DOM
    2021-04-04
  • vue-virtual-scroll-list虚拟组件实现思路详解

    vue-virtual-scroll-list虚拟组件实现思路详解

    这篇文章主要给大家介绍了关于vue-virtual-scroll-list虚拟组件实现思路的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-02-02

最新评论