electron-builder - 只构建 Mac 版本但设置为构建 Mac 和 Win 版本

8
这是我第一次构建electronjs应用程序,所以很可能我不知道我在做什么。
我遵循github的指示和这里的说明。以下是我的package.json文件:
{
  "name": "ExampleApp",
  "productName": "ExampleApp",
  "version": "1.0.0",
  "description": "Fun app.",
  "license": "MIT",
  "repository": "user/repo",
  "author": {
    "name": "sooon",
    "email": "Example@gmail.com",
    "url": "Example.com"
  },
  "build": {
    "appId": "com. Example.ExampleApp",
    "mac": {
      "target": "dmg",
      "icon": "build/icon.png"
    },
    "win": {
      "target": "nsis",
      "icon": "build/icon.png"
    }
 },
  "scripts": {
    "test": "xo",
    "start": "electron .",
    "pack": "electron-builder --dir",
    "dist": "electron-builder"
  },
  "dependencies": {
    "electron-debug": "^1.0.0",
    "jquery": "^3.3.1"
  },
  "devDependencies": {
    "devtron": "^1.1.0",
    "electron": "^1.8.2",
    "electron-builder": "^19.56.0",
    "electron-packager": "^8.7.2",
    "xo": "^0.18.0"
  },
  "xo": {
    "envs": [
      "node",
      "browser"
    ]
  }
}

正如您所见,build脚本中包含macwin。但是当我运行以下命令时:

nom run dist

只有 DMG 文件(完全功能)被构建。没有任何与 win 应用程序的工作痕迹。在设置中我错过了什么?

我是在运行 10.12.6 的 MacBook 上进行构建的。只能为自己的平台构建吗?可以让 MacWindows 构建吗?

更新01 我把它拿出来了:

"build": {
    "appId": "com.sooonism.pipidance",
    "mac": {
      "target": "dmg",
      "icon": "build/icon.png"
    },
    "win": {
      "target": "nsis",
      "icon": "build/icon.png"
    }
 },

package.json 中看,它还是可以成功构建的。这意味着 build 脚本可能是在其他地方。


你有找到解决方法吗?我也遇到了同样的问题 - 似乎无论在 package.json 中是否定义了 build 键,它都只执行默认操作。 - Nic Barker
这个 package.json 可以同时适用于两种操作系统。但是你需要操作系统来构建它们。如果要为 Mac 构建,你需要在 macos 中运行 build,反之亦然,如果要为 Windows 构建,则需要相应地运行。 - sooon
1个回答

19

electron-builder默认构建当前平台。要构建两个平台,您需要在“script”中执行以下操作,以构建Mac和Windows:

"dist-all": "electron-builder -mw"


2
谢谢,这个解决了我的问题。我不知道为什么文档里没有提到。 - Nic Barker
1
我没有尝试过这个。你用什么平台构建的? - sooon
1
@sooon 我能够在 Mac OS X 上使用 electron-builder -mw 构建出 Mac .dmg 和 Windows NSIS 应用程序。 - Nic Barker
我曾经遇到过完全相同的问题。在这上面浪费了两个小时。这似乎是值得在文档中突出提到的事情。 - Kywillis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接