电子伪造包生成一个空文件夹

Electron-forge package generates an empty out folder

我正在使用 electron 和 electron-forge 开发应用程序,这个应用程序是在没有互联网连接的虚拟机上构建的,所以我得到了 electron 二进制文件,并将 electron_config_cache 设置为路径我在 package.json 文件中找到了新的二进制文件以及 packagerConfig 的 cacheRoot,问题是:

当我 运行 yarn package(electron-forge package)时,我在 yarn package 调用的每个步骤旁边都用绿色勾选完成了。但是 out 文件夹是空的,虽然它应该有包含 .exe 的 appName-win32-x64 文件夹。

有人对此有想法吗?

确保您的 package.json 具有正确的设置,包括“main”属性以及构建目录。 electron forge 似乎使用 electron-packager 作为其打包平台:

遵循这些说明:

来自Electron forge,Electron forge - packager options, Electron-packager options

没有 forge.config.js 文件:

将此添加到您的 package.json:

"config": {
    "forge": {
      "packagerConfig": {dir:"./path/to/your/dir"},
      "makers": [
        {
          "name": "@electron-forge/maker-zip"
        }
      ]
 }

或使用 forge.config.js 文件:

在您的 package.json 中,确保具有:

{
  "name": "my-app",
  "version": "0.0.1",
  "config": {
    "forge": "./forge.config.js"
  }
}

在你的forge.config.js中:

{
  packagerConfig: {dir:"./path/to/your/dir"},
  electronRebuildConfig: { ... },
  makers: [ ... ],
  publishers: [ ... ],
  plugins: [ ... ],
  hooks: { ... },
  buildIdentifier: 'my-build'
}

我认为很可能是forge没有指向正确的目录,添加上面显示的目录设置。

问题是虚拟机问题,与electron forge本身无关,VM无法将temp文件夹中的内容复制到out文件夹,可以通过更改temp文件夹来解决