当前位置: 首页 > article >正文

[Electron] 将应用打包成供Ubuntu、Debian平台下安装的deb包


在使用 electron-packager 工具输出 linux 平台的 electron app 后,可以使用 electron-installer-debian 工具把 app 打包成供Ubuntu平台下安装的 debian 包。

electron-installer-debian是一个用于创建 Debian Linux(.deb)安装包的开发工具。它是 Electron 应用程序的一个常用工具,用于将 Electron 应用打包并创建适用于 Debian 系统的安装包。

以下是 electron-installer-debian 的一些主要特点和介绍:

  • 自动化安装包生成:electron-installer-debian 提供了一种简单的方式来自动生成 Debian 安装包,无需手动创建和配置。

  • 支持应用程序图标和菜单项:它可以将应用程序的图标和菜单项集成到生成的 Debian 安装包中,使得应用在系统中拥有良好的外观和用户体验。

  • 依赖管理:electron-installer-debian 可以自动检测 Electron 应用程序的依赖关系,并确保它们在目标系统上正确安装。

  • 可定制性:它提供了一些选项和配置文件,可以根据项目需求进行定制,例如指定安装包的名称、版本号、描述等。

  • 支持脚本执行:可以通过指定脚本文件,在安装和卸载过程中执行自定义的操作,如创建快捷方式、配置环境变量等。

  • 版本控制:可以指定所使用的 Electron 版本,以确保生成的安装包与应用程序的要求兼容。

一、环境搭建

安装 node.js:

curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs

安装 electron-installer-debian:

sudo apt-get install fakeroot
sudo npm install -g electron-installer-debian

二、debian 包制作

使用 electron-packager 工具执行如下命令进行打包:

electron-packager . app --platform linux --arch x64 --out dist/

那么 electron app 则位于 dist 目录下:

.
└── dist
    └── app-linux-x64
        ├── LICENSE
        ├── LICENSES.chromium.html
        ├── content_shell.pak
        ├── app
        ├── icudtl.dat
        ├── libgcrypt.so.11
        ├── libnode.so
        ├── locales
        ├── natives_blob.bin
        ├── resources
        ├── snapshot_blob.bin
        └── version

(1)在终端执行命令制作,命令如下:

electron-installer-debian --src dist/app-linux-x64/ --dest dist/installers/ --arch amd64

命令执行后,生成的 debian 包存放于 dist/installers 目录,文件名类似为 app_0.0.1_amd64.deb。

(2)使用 npm 命令制作

首先在 package.json 文件中编辑 scripts 部分,添加 deb64 的内容:

{
  "name": "app",
  "description": "An awesome app!",
  "version": "0.0.1",
  "scripts": {
    "start": "electron .",
    "build": "electron-packager . app --platform linux --arch x64 --out dist/",
    "deb64": "electron-installer-debian --src dist/app-linux-x64/ --dest dist/installers/ --arch amd64"
  },
  "devDependencies": {
    "electron-installer-debian": "^0.6.0",
    "electron-packager": "^9.0.0",
    "electron": "~1.7.0"
  }
}

然后在终端执行以下命令:

npm run deb64

为了支持在制作 debian 包的时候添加更多选项,可以使用 json 配置文件描述,例如以下是 config.json 文件的内容:

{
  "dest": "dist/installers/",
  "icon": "resources/Icon.png",
  "categories": [
    "Utility"
  ],
  "lintianOverrides": [
    "changelog-file-missing-in-native-package"
  ]
}

在该文件中描述了 debian 包的存放目录、应用图标、应用类别与检查器。

在 package.json 文件的 scripts 部分这样引用该配置文件:

"deb64": "electron-installer-debian --src dist/app-linux-x64/ --arch amd64 --config config.json"

更详细的使用说明可以参考 electron-installer-debian 的 README.md。


http://www.kler.cn/a/160135.html

相关文章:

  • Android 项目依赖库无法找到的解决方案
  • 「人眼视觉不再是视频消费的唯一形式」丨智能编解码和 AI 视频生成专场回顾@RTE2024
  • 「QT」窗口类 之 QWidget 窗口基类
  • 【JavaEE初阶 — 多线程】死锁的产生原因和解决方法
  • PyQt入门指南五十二 版本控制与协作开发
  • MySQL高级(二):一条更新语句是如何执行的
  • DAPP开发【11】IPFS星际文件管理系统
  • spark的安装与使用:一键自动安装
  • TCP与UDP的区别
  • HashMap系列-放入元素的流程
  • 面试官问:怎么判断对象已死?
  • 近期复习四
  • 《微信小程序开发从入门到实战》学习四十二
  • 不同数据库进行同步和增量数据(SQL server 与MySQL数据库为例)
  • Ubuntu防止休眠和挂起(笔记)
  • HTML总结
  • Image Segmentation Using Deep Learning: A Survey
  • 鸿蒙4.0开发笔记之ArkTS语法基础之条件渲染和循环渲染的使用(十五)
  • Linux取消挂载相关
  • yumdownloader介绍和使用示例
  • leetcode:用栈实现队列(先进先出)
  • mysql中year函数有什么用
  • 二叉树的右视图[中等]
  • MySQL电商管理系统练习题及答案
  • 【动手学深度学习】(十一)卷积层
  • 指针(三)