pkg

使用 Electron Forge 为您的 macOS 上的 Electron 应用创建 .pkg 文件。

pkg 目标构建一个 .pkg 安装程序,用于 macOS。这些用于将您的应用程序上传到 Mac App Store (MAS),或者可以用作在应用商店之外向用户分发的替代方法。

出于历史原因,此格式通常被称为 扁平化软件包安装程序。在 Mac OS X Leopard (10.5) 之前,安装包组织在分层目录中。OS X Leopard 引入了一种新的扁平化软件包格式,用于现代 .pkg 安装程序。

Apple 对扁平化安装程序包格式的文档很少。如果您想了解更多关于其规范的信息,有一些用户文章可用

需求

您只能在 macOS 机器上构建 pkg 目标,同时针对 darwinmas 平台。

安装

npm install --save-dev @electron-forge/maker-pkg

用法

要使用 @electron-forge/maker-pkg,请将其添加到您 Forge 配置 中的 makers 数组中

forge.config.js
module.exports = {
  makers: [
    {
      name: '@electron-forge/maker-pkg',
      config: {
        keychain: 'my-secret-ci-keychain'
        // other configuration options
      }
    }
  ]
};

所有配置选项都是可选的,选项在 MakerPkgConfig 的 API 文档中进行了说明。

添加安装脚本

使用 pkg 生成器,您可以添加 preinstallpostinstall bash 脚本,它们分别在您的应用安装之前和之后运行。

preinstallpostinstall 脚本都需要

  • 具有执行权限

  • 无扩展名

  • 位于文件系统中的同一文件夹中

例如,它们可以位于您项目中名为 scripts 的文件夹中。

my-app
├─── forge.config.js
└─── scripts
    ├── postinstall
    └── preinstall

然后,您的 Forge 配置需要指向 ./scripts 文件夹。

forge.config.js
const path = require('node:path');

module.exports = {
  makers: [
    {
      name: '@electron-forge/maker-pkg',
      config: {
        install: path.join(__dirname, 'scripts)
      }
    }
  ]
};

调试

扁平化软件包安装程序的所有日志都可以在 macOS 安装日志中找到,这些日志存储在 /var/log/install.log 中。它们也可以在 Console.app 实用程序中访问。

对于此生成器的高级调试日志,请添加 DEBUG=electron-osx-sign* 环境变量。

上次更新