electron-builder - 只为 mac 构建,但设置为构建 mac 并获胜

Posted

技术标签:

【中文标题】electron-builder - 只为 mac 构建,但设置为构建 mac 并获胜【英文标题】:electron-builder - only build for mac but set to build mac and win 【发布时间】:2018-07-20 01:22:13 【问题描述】:

这是我第一次构建 electronjs 应用程序,所以很可能我不知道自己在做什么。

我遵循github 和this 的指示。 这是我的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 来构建它。只有您可以为自己的平台构建吗? Mac 可以为Windows 构建吗?

更新01 我拿出来:

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

来自package.json,它仍然可以构建。这意味着build 脚本可能位于某个地方?

【问题讨论】:

您找到解决方案了吗?我遇到了同样的问题 - 无论 build 键是否在 package.json 中定义,它似乎都只是默认设置。 package.json 对两者都适用。但是您需要操作系统来构建它们。要为 mac 构建,您需要在 macos 中运行 build,反之亦然 win 【参考方案1】:

electron-builder 默认为当前平台构建。要构建两者,您需要在“脚本”中执行类似的操作,以构建 mac 和窗口:

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

【讨论】:

谢谢,这解决了我的问题。我不知道为什么在任何地方的文档中都没有提到它。 我还没试过这个。您使用什么平台构建的? @sooon 我能够使用electron-builder -mw在mac os x 上构建mac .dmg 和windows nsis 应用程序 我遇到了完全相同的问题。就这样冲了马桶2小时。这似乎是文档中值得一提的重要内容。

以上是关于electron-builder - 只为 mac 构建,但设置为构建 mac 并获胜的主要内容,如果未能解决你的问题,请参考以下文章

用electron将Vue项目打包为window和Mac桌面应用 (electron-packager与electron-build)

电子制造商:EACCES:权限被拒绝

Mac Electron App 签名后打开闪退

Mac应用程序安装在开发人员机器上的未知位置

在 Windows、Mac 和 Linux 上分发 Electron 应用程序

electron-builder 打包流程