【问题标题】:electron-builder Not Publishing to GitHub on Mac OS X在 Mac OS X 上,electron-builder 不发布到 GitHub
【发布时间】:2019-12-14 16:13:20
【问题描述】:

我有一个电子应用程序需要使用electron-builder 作为 Mac OS X 版本发布到公共 GitHub 存储库。

问题:通过运行构建、签名和打包电子应用程序后

npm run release

该应用不会作为新版本自动发布到 GitHub 存储库。

我们如何设置electron-builder自动将电子应用发布上传到Github?

版本

  • 节点 12.6.0
  • electron1.8.8
  • electron-builder19.56.2
  • Mac OS X Mojave 10.14.5

npm run release 输出

> Foo-Bar@1.0.0 release /Users/nyxynyx/test/foo
> npm run package


> Foo-Bar@1.0.0 package /Users/nyxynyx/test/foo
> npm run build && electron-builder


> Foo-Bar@1.0.0 build /Users/nyxynyx/test/foo
> NODE_ENV=production webpack --config webpack.config.production.babel.js

Hash: 18da30a5e722cd0dcf18
Version: webpack 3.12.0
Time: 18196ms
                                 Asset     Size  Chunks                    Chunk Names
  95b0c26ef5d6681629df4139abdf25e2.png  40.8 kB          [emitted]         
  e5624fc63eaf857505dcbca5f147cdab.jpg  84.9 kB          [emitted]         
  daf19b8de627f3a50015fb522d61de2f.png  45.7 kB          [emitted]         
  c01643f0abed8f9cdc07bd6f6d41430b.png  41.3 kB          [emitted]         
24f7b0944e9e03a905f9d7701573b2cd.woff2  14.9 kB          [emitted]         
 a7622f60c56ddd5301549a786b54e6e6.woff  18.7 kB          [emitted]         
6725c3fb1f3abd7ebdcb2d244758f706.woff2  13.9 kB          [emitted]         
 793b1237017aeacd646fb80911425566.woff  17.7 kB          [emitted]         
33543c5cc5d88f5695dd08c87d280dfd.woff2  14.4 kB          [emitted]         
 de0869e324680c99efa1250515b4b41c.woff  18.1 kB          [emitted]         
b61a9055d92ac56c15cacf4271d4f072.woff2  13.8 kB          [emitted]         
 06b4bfda4e139eaf3ab9872a6d66f42f.woff  17.4 kB          [emitted]         
819af3d3abdc9f135d49b80a91e2ff4c.woff2  14.9 kB          [emitted]         
 449d681cd6006390e1bee3c3a660430b.woff  18.7 kB          [emitted]         
ebdfa24cb411ba3016abd1c3ea5746e5.woff2  13.9 kB          [emitted]         
 56e5756b696615d6164a625e1bcb1a9e.woff  17.5 kB          [emitted]         
0edb76284a7a0f8db4665b560ee2b48f.woff2  15.1 kB          [emitted]         
 1f85e92d8ff443980bc0f83ad7b23b60.woff  18.9 kB          [emitted]         
a49393f2171a2f4d6927ce6c14f73dbc.woff2  13.9 kB          [emitted]         
 bf72679ca22e53320beaea090e8bb07d.woff  17.5 kB          [emitted]         
ab3e500e7375695d702cff19513e4470.woff2  15.1 kB          [emitted]         
 05ebdbe10796850f045fcd484f35788d.woff  19.1 kB          [emitted]         
c62c3eea77cf3fca51494e8c924adf4d.woff2    14 kB          [emitted]         
 92da6f116d973bd334cf9b3afdb29c4f.woff  17.8 kB          [emitted]         
                             bundle.js  2.13 MB       0  [emitted]  [big]  main
 [147] (webpack)/buildin/harmony-module.js 596 bytes {0} [built]
 [158] ./src/styles/theme.js 681 bytes {0} [built]
 [265] ./src/index.js 1.16 kB {0} [built]
 [333] ./src/styles/global.js 896 bytes {0} [built]
 [337] ./src/store.js 2.13 kB {0} [built]
 [339] ./src/reducers/index.js 729 bytes {0} [built]

 ...

    + 696 hidden modules
  • electron-builder version=19.56.2
  • loaded configuration file=package.json ("build" field)
  • writing effective config file=release/electron-builder.yaml
  • rebuilding native production dependencies platform=darwin arch=x64
  • packaging       platform=darwin arch=x64 electron=1.8.8 appOutDir=release/mac
  • packaging       platform=mas arch=x64 electron=1.8.8 appOutDir=release/mas

package.json

{
  "name": "Foo-Bar",
  "version": "1.0.0",
  "description": "Foo-Bar",
  "main": "main.js",
  "scripts": {
    "postinstall": "electron-builder install-app-deps",
    "start": "NODE_ENV=development electron .",
    "dev": "concurrently -k 'node -r babel-register server.js' 'npm start'",
    "build": "NODE_ENV=production webpack --config webpack.config.production.babel.js",
    "package": "npm run build && electron-builder",
    "release": "npm run package"
  },
  "repository": {
    "type" : "git",
    "url" : "https://github.com/Foo/Bar.git"
  },
  "author": "Foo",
  "engine-strict": true,
  "engines": {
    "node": ">= 6.x",
    "npm": ">= 3.x"
  },
  "build": {
    "appId": "com.foo.bar",
    "productName": "Foo Bar",
    "copyright": "Copyright © 2019 ${author}",
    "directories": {
      "output": "release"
    },
    "files": [
      "dist/",
      "resources/",
      "index.html",
      "main.js",
      "package.json",
      "embedded.provisionprofile"
    ],
    "mac": {
      "category": "public.app-category.utilities",
      "icon": "resources/app.icns",
      "entitlements": "build/entitlements.mac.plist",
      "target": [
        "pkg",
        "dmg",
        "zip",
        "mas"
      ]
    },
    "mas": {
      "type": "distribution",
      "category": "public.app-category.utilities",
      "icon": "resources/app.icns",
      "entitlements": "build/entitlements.mas.plist"
    },
    "publish": [
      "github"
    ]
  },
  "dependencies": {
      ...
  },
  "devDependencies": {
    "electron": "^1.8.8",
    "electron-builder": "^19.56.2",
    "electron-debug": "^1.5.0",
    "electron-devtools-installer": "^2.2.4",
    "webpack": "^3.12.0",
    "webpack-dev-middleware": "^2.0.6",
    "webpack-hot-middleware": "^2.25.0",
    "webpack-merge": "^4.2.1",
    ...
  },
  "optionalDependencies": {
    "jquery": "^3.4.1"
  }
}

【问题讨论】:

    标签: javascript node.js electron electron-builder electron-packager


    【解决方案1】:

    当您运行npm run release 时,它只会运行npm run build && electron-builder。所以它只会打包你的应用程序而不是发布它。您需要在 package 脚本中添加 --publish=always 才能发布您的应用

    "package": "npm run build && electron-builder --publish=always",
    

    并将package.json 中的publish 编辑为类似的内容

    "publish": [
          {
            "provider": "github",
            "owner": "incognitochain",
            "repo": "incognito-monitor"
          }
        ]
    

    【讨论】:

    • 尝试了您的建议,npm run packagenpm run release 都给出了与问题中发布的相同的输出,最后一行在 • packaging platform=mas arch=x64 electron=1.8.8 appOutDir=release/mas 处停止。
    • 有效!按照建议编辑publish 允许electron-builder 超越packaging 并进入signingpublishinguploading 到Github!谢谢!
    • npm run release 还需要吗?还是npm run package 足够了?
    • 如果你总是在打包的时候发布你的应用,npm run release是不必要的
    猜你喜欢
    • 2020-05-28
    • 2018-03-16
    • 2019-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-30
    相关资源
    最近更新 更多