electronbuilder打包踩过的那些坑

2023年 10月 13日 27.0k 0

本文为Electron+Vue3开发桌面端软件系列文章第二篇

通过本文,你将获得:

  • Electron项目如何打包
  • 打包过程中异常项报错的处理方案
  • 打包

    查看package.jsonscripts:

    "scripts": {
      "format": "prettier --write .",
      "lint": "eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix",
      "start": "electron-vite preview",
      "dev": "electron-vite dev",
      "build": "electron-vite build",
      "postinstall": "electron-builder install-app-deps",
      "build:win": "npm run build && electron-builder --win --config",
      "build:mac": "npm run build && electron-builder --mac --config",
      "build:linux": "npm run build && electron-builder --linux --config"
    },
    

    首先执行pnpm postinstall

    因为本文项目是在Windows上,执行pnpm build:win

    在没有异常情况下,会在根目录下打包输出dist文件夹,如下图所示:

    distexe是可执行的安装包文件,将这个exe文件分享给你的朋友,就可以让他安装你的软件了。

    异常情况

    不出意外的话就是出意外了。

    我遇到的异常是在electron-builder打包过程中会自动下载依赖的包,由于网络缘故下载总是失败,科学上网的前提下也不行。

    winCodeSign-2.6.0.7z 下载失败

    在打包构建时,会从https://github.com/electron-userland/electron-builder-binaries/releases/download/winCodeSign-2.6.0/winCodeSign-2.6.0.7z这个地址下载winCodeSign-2.6.0.7z这个包。

    解决方案:

    在浏览器打开:github.com/electron-us…

    找到winCodeSign-2.6.0一栏,在它的Assets中下载第一个7z和第二个zip文件。

    将下载的包放入对应的目录下,Windows下的地址:%LOCALAPPDATA%electroncache

    nsis-3.0.4.1.7z 下载失败

    重新打包,出现新的报错。

    需要从https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-3.0.4.1/nsis-3.0.4.1.7z地址下载nsis-3.0.4.1.7z这个包,下载失败导致的报错。

    解决方案:

    在上文中下载的Source code(zip),本地进行解压,其中就会有我们需要的nsis-3.0.4.1这个包。

    在其中找到nsis,重命名为nsis-3.0.4.1,命名规则是根据打包报错中需要下载的文件命名的,https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-3.0.4.1/nsis-3.0.4.1.7z,需要下载的就是nsis-3.0.4.1这个文件。

    将文件放在对应的目录下,Windows下地址是%LOCALAPPDATA%electron-builderCachensis

    nsis-resources-3.4.1.7z 下载失败

    重新打包,出现新的报错。

    报错截图如下,是找不到nsis-resources-3.4.1.7z这个包。

    解决方案:

    还是在之前下载的Source code(zip)文件中会有我们需要的,并且重命名为nsis-resources-3.4.1

    将文件放在对应的目录下,Windows下地址是%LOCALAPPDATA%electron-builderCachensis

    再次执行打包,完美输出,没有异常报错。

    总结

  • package.json查看打包命令
  • 一般由于网络原因的打包异常,可单独下载依赖包,在报错信息中可以窥看到需要的依赖包名称和下载的地址。
  • 相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论