在使用 electron-packager 工具输出 linux 平台的 electron app 后,可以使用 electron-installer-debian 工具把 app 打包成供Ubuntu平台下安装的 debian 包。
1 环境搭建
1.1 安装 node.js
-
curl -sL https:
//deb.nodesource.com/setup_14.x | sudo -E bash -
-
sudo apt-
get install -y nodejs
1.2 安装 electron-installer-debian
-
sudo apt-
get install fakeroot
-
sudo npm install -g electron-installer-debian
2 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
2.1 直接在终端执行命令制作
命令如下:
electron-installer-debian --src dist/app-linux-x64/ --dest dist/installers/ --arch amd64
命令执行后,生成的 debian 包存放于 dist/installers 目录,文件名类似为 app_0.0.1_amd64.deb。
2.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。