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

[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.lryc.cn/news/251689.html

相关文章:

  • 7.24 SpringBoot项目实战【审核评论】
  • Java实现动态加载的逻辑
  • 数据库的设计规范
  • 正则表达式从放弃到入门(2):grep命令详解
  • 用Java写一个王者荣耀游戏
  • 基于SSM的新闻网站浏览管理实现与设计
  • 【蓝桥杯软件赛 零基础备赛20周】第6周——栈
  • CWE/SANS TOP 25 2022
  • Qt 天气预报项目
  • 新知识-Tuple元组的使用
  • “此应用专为旧版android打造,因此可能无法运行”,问题解决方案
  • 【Leetcode题单】(01 数组篇)刷题关键点总结03【数组的改变、移动】
  • Lag-Llama:基于 LlaMa 的单变量时序预测基础模型
  • vue3 :deep() 深度选择器不生效
  • 从零构建属于自己的GPT系列1:数据预处理(文本数据预处理、文本数据tokenizer、逐行代码解读)
  • c++中函数的引用
  • IDA常用操作、快捷键总结以及使用技巧
  • Kibana使用指南
  • wvp如果确认音频udp端口开放成功
  • C#文件夹基本操作(判断文件夹是否存在、创建文件夹、移动文件夹、删除文件夹以及遍历文件夹中的文件)
  • python 交互模式和命令行模式的问题
  • 计算机网络——数据链路层
  • 【限时免费】20天拿下华为OD笔试之【哈希集合】2023B-明明的随机数【欧弟算法】全网注释最详细分类最全的华为OD真题题解
  • 播放器开发(五):视频帧处理并用SDL渲染播放
  • Spring MVC数据绑定的几种方法(一)
  • CSP-坐标变换(其二)
  • docker 安装jekins
  • ChatGPT 问世一周年之际,开源大模型能否迎头赶上?
  • 数据结构和算法-哈夫曼树以相关代码实现
  • Kafka 的起源和背景