[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:

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

安装 electron-installer-debian:

powershell 复制代码
sudo apt-get install fakeroot
sudo npm install -g electron-installer-debian

二、debian 包制作

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

powershell 复制代码
electron-packager . app --platform linux --arch x64 --out dist/

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

powershell 复制代码
.
└── 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)在终端执行命令制作,命令如下:

powershell 复制代码
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 的内容:

json 复制代码
{
  "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"
  }
}

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

powershell 复制代码
npm run deb64

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

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

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

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

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

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

相关推荐
ikoala8 分钟前
Codex 小白入门:从安装到插件、MCP、Skills,一篇把配置讲明白
前端·javascript·后端
雪隐29 分钟前
用Flutter做背单词APP-04一个人,2周,从零撸出一个背单词App
前端·人工智能·后端
OpenTiny社区1 小时前
Skill 设计:封装、评测、运营,一次讲透
前端·github
大白要努力!1 小时前
uni-app 全面入门速查手册
前端·uni-app
索西引擎1 小时前
【React】虚拟 DOM:原理、机制与核心价值分析
前端·react.js·前端框架
console.log('npc')1 小时前
网页移动端UI/UX Pro Max - 设计智能skill
前端·人工智能·ui·ux
javajenius1 小时前
Masslynx 4.1安装包免费下载及详细安装教程
java·服务器·前端·其他
源码学社1 小时前
Spug 3.0 Ubuntu 22.04 Docker 部署文档
linux·ubuntu·docker·windows安装·spug
tebukaopu1481 小时前
ubuntu挂载nfs
linux·运维·ubuntu
gis开发之家2 小时前
《Vue3 从入门到大神29篇》单元测试与 E2E 测试 —— 保障 Vue3 项目的质量
前端·javascript·vue.js·单元测试·前端框架·vue3