如何在 linux 中将电子应用程序转换为单个打包程序安装程序(仅可执行文件)?

how to convert the electron app into single packager installer(only executable) in linux?

我已经将桌面应用程序创建到 linux 带有支持文件的应用程序中,现在我想制作成单个文件(可执行文件),以便可以与任何人共享。 有没有办法把它变成可执行文件

任何 平台上打包任何 应用程序需要一些库,无论是静态链接还是动态链接。打包成一个单独的可执行文件永远行不通,至少对于 Electron 是这样。

将 Node.js Electron 源文件打包成可执行文件(也称为编译)很容易 - 如果您使用 electron-packager。这是一个 Node.js "plugin" 您可以使用以下命令通过 NPM 安装(并保存为开发依赖项):

npm install --save-dev electron-packager

接下来,您可以像这样在 package.json 中创建一个 "build" 脚本:

"scripts": {
  "build-linux64": "electron-packager . ProjectName --platform=linux --arch=x64"
}

此脚本将为 64 位 Linux 系统编译您的项目。对于其他开关,请参阅可用的 electron-packager 文档 here.

之后,在项目的主目录中应该有一个名为ProjectName-platform-arch的文件夹,您可以将其压缩并分发。这个可执行文件(ProjectName 在输出文件夹中)将可以在任何 64 位 Linux OS 没有安装 Node.js 上执行。

但是,至少要提一下,这是不是安装程序。对于 Linux,您可以构建一个 "package",例如 *.deb 用于 Debian/Ubuntu 和派生,*.rpm 用于 RedHat、OpenSuSE、SLES、SLED、Fedora 和派生,或者 *.tar.gz 用于纯源代码包(如 apt 使用)。这无法通过 electron-packager 实现,但可以通过 Linux OS 的机载工具实现。网上有一些关于如何构建 Linux 包的很棒的教程,但这肯定超出了这个答案的范围。