electron 使用electron-packager打linux-x64包与linux-arm64包,解决打包缓慢问题

这篇具有很好参考价值的文章主要介绍了electron 使用electron-packager打linux-x64包与linux-arm64包,解决打包缓慢问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用electron-packager打linux-x64包与linux-arm64包,解决下载zip打包缓慢问题

在使用electron-packager打包的过程中,需要在第一次下载electron版本对应的zip文件,下载很缓慢,而且还可能出现每次都在下载zip的情况
解决思路是提前下载好zip文件并修改electron—packager源码将zip的路径指定到你放zip的文件目录,去规避packager自己去下载zip文件。实现更快的完成打包

第一步、下载zip文件

需要在网上去下载你electrn对应版本的zip文件,需要注意把对应的SHASUMS256.txt文件也下载下来放在zip同目录。electron zip下载地址
为了与文章效果一致,避免一些路径问题,你可以找到对应版本的zip文件下载到项目根目录与node_modules同级,创建cache文件夹

electron 使用electron-packager打linux-x64包与linux-arm64包,解决打包缓慢问题,electron,记录,linux,electron,json

第二步、安装packager并配置

安装packager

npm install electron-packager

配置package.json scripts命令

"scripts": {
    "packager:win": "electron-packager ./ winApp --platform=win32 --arch=x64   --overwrite --no-prune --ignore=/node_modules",
    "packager:linux-x64": "electron-packager ./ linuxApp --platform=linux --arch=x64   --overwrite --no-prune --ignore=/node_modules",
    "packager:linux-arm64": "electron-packager ./ linuxApp --platform=linux --arch=arm64   --overwrite --no-prune --ignore=/node_modules"
  },

修改electron-packager源码

在node_modules中找到electron-packager包,定位到node_modules\electron-packager\src\index.js,找到packageForPlatformAndArchWithOpts方法修改zipPath获取代码

downloadOpts.arch 对应scripts命令里的 --arch=arm64,这里没有处理windows打包,实现的过程和linux打包一致,在下面添加win的判断即可。downloadOpts参数可以获取到脚本命令里的参数

async packageForPlatformAndArchWithOpts (comboOpts, downloadOpts) {
    // const zipPath = await this.getElectronZipPath(downloadOpts)  ---
    const arch = downloadOpts.arch // +++
    const zipPath = arch === 'arm64' ? './cache/electron-v22.0.0-linux-arm64.zip' : './cache/electron-v22.0.0-linux-x64.zip' // +++

    if (!this.useTempDir) {
      return this.createApp(comboOpts, zipPath)
    }

    if (common.isPlatformMac(comboOpts.platform)) {
      /* istanbul ignore else */
      if (this.canCreateSymlinks === undefined) {
        return this.testSymlink(comboOpts, zipPath)
      } else if (!this.canCreateSymlinks) {
        return this.skipHostPlatformSansSymlinkSupport(comboOpts)
      }
    }

    return this.checkOverwrite(comboOpts, zipPath)
}

第三步、打包

linux-x64包

npm run packager:linux-x64

linux-arm64包

npm run packager:linux-arm64

打包成功后,electron-packager会把cache下载文件并入包文件下的resources\app文件里
electron 使用electron-packager打linux-x64包与linux-arm64包,解决打包缓慢问题,electron,记录,linux,electron,json文章来源地址https://www.toymoban.com/news/detail-596258.html

到了这里,关于electron 使用electron-packager打linux-x64包与linux-arm64包,解决打包缓慢问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux基础学习(4):rpm包与相关命令

    1.linux内的软件包分类 linux只有2种软件包: 源码包 与 二进制包 (1) 源码包 源码包就是开源的源程序包,使用者可以直接看到其程序,也可以进行修改 (2) 二进制包 由于源码包安装难度大,后来就出现了二进制包,但二进制包不再是开源的了 linux的二进制包以.rpm结尾,

    2024年01月19日
    浏览(34)
  • 交叉编译ARM64架构electron详解

    本文主要参考Electron官方文档中 构建说明 和 构建步骤(Linux) 在amd64环境内构建arm64的electron包。 如果是arm64环境请查看文章arm64架构编译electron长征路 操作系统版本:统信1060 操作系统架构:amd64 内存:32G 如下图: electron版本:v25.9.8 chromium版本:114.0.5735.289 由于llvm编译需要

    2024年02月02日
    浏览(39)
  • arm64架构编译electron长征路

    2024年01月21日
    浏览(63)
  • vue vite ts electron ipc arm64

    系统:debian 12 vscode 安装 TypeScript Vue Plugin (Volar)、Vue Language Features (Volar)、C/C++ 扩展 新建 plugins、src/electron 文件夹 添加 src/electron/background.ts 属于主进程 ipcMain.on、ipcMain.handle 都用于主进程监听 ipc,ipcMain.on 用于监听 ipcRenderer.send,ipcMain.handle 用于监听 ipcRenderer.invoke 并 return

    2024年02月15日
    浏览(44)
  • dpkg:package architecture (aarch64) does not match system (arm64)

    在nx平台下执行  root@root-desktop:~/test$ sudo dpkg -i MyTest_0.2.1.0_aarch64.deb  dpkg: error processing archive MyTest_0.2.1.0_aarch64.deb (--install):  package architecture (aarch64) does not match system (arm64) Errors were encountered while processing: MyTest_0.2.1.0_aarch64.deb root@root-desktop:~/test$ uname -a Linux rootdesktop 4.9.201-tegra

    2023年04月22日
    浏览(91)
  • Microsoft Visual C++ 2019 Redistributable Package (x64) is not installed

    安装MySQL时需要配置Microsoft Visual C++ Redistributable , 直接下载对应版本,安装即可。 Microsoft Visual C++ Redistributable 2019 x86: https://aka.ms/vs/16/release/VC_redist.x86.exe x64: https://aka.ms/vs/16/release/VC_redist.x64.exe Microsoft Visual C++ Redistributable 2017 x86: https://go.microsoft.com/fwlink/?LinkId=746571 x64: https

    2024年02月05日
    浏览(62)
  • Windows - Microsoft Visual C++ 2019 Redistributable Package (x64) is not installed

    Microsoft Visual C++ 2019 Redistributable Package (x64) is not installed 另外的几种报错形式: ”由于找不到MSVCR120.dll,无法继续执行代码。重新安装程序可能会解决此问题“ ”由于找不到VCRUNTIME140_1.dll,无法继续执行代码。重新安装程序可能会解决此问题“ 都是由于电脑系统缺少部分配置

    2024年02月13日
    浏览(45)
  • the “@esbuild/darwin-x64“ package is present but this platform needs the “@esbuild/darwin-arm64“

    搭建vite运用ts项目时,为了配置别名 ./src = @ ,引入了 import path from \\\'path\\\' ,出现报错,不存在path,但是path是存在node环境中的,所以就引入对ts进行声明了。 使用 npm i -D @types/node 解决了path报错,但是当再次运行的时候就出现了 the \\\"@esbuild/darwin-x64\\\" package is present but this platform n

    2024年02月12日
    浏览(46)
  • Linux aarch64架构libreoffice安装使用

    libreoffice安装包 tar -zxvf LibreOffice-7.1.tar.gz cd LibreOffice-7.1LibreOfficeDev-7.1-Linux-aarch64-rpmRPMS rpm -Uivh *.rpm --nodeps cd LibreOffice-7.1LibreOfficeDev-7.1-Linux-aarch64-rpm-langpack_zh-CNRPMS rpm -Uivh *.rpm --nodeps cd /opt/libreofficedev7.1/program /opt/libreofficedev7.1/program/oosplash --convert-to html /data/test.doc --outdir /da

    2024年02月07日
    浏览(60)
  • Linux(64位)使用安装包安装JDK1.8

    第一步:下载安装包分享至阿里云盘下载无限速 第二步:安装 第三步:移动文件/不移动也行 重新创建的文件夹 第四步:修改环境变量 第五步:验证是否安装成功

    2024年02月15日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包