首页 > 解决方案 > Mac OS Catalina 上的 Electron Forge Squirrel Windows?

问题描述

再次询问,因为我没有运气找到这些信息。有谁知道我在哪里可以找到在运行 OS Catalina(10.15) 的 Mac 上打包适用于 Windows 的 Electron 应用程序的文档或步骤?我已经成功发布了 DMG 和 Mac OS 的 .zip。目前使用电子锻造。

我阅读了要使用的 Electron 文档,wine或者mono我都安装了两者,但我不确定在那之后该怎么做。我在安装两者后尝试运行电子打包程序,但它仍然忽略了 Windows 的 squirrel-maker。尝试运行 electron-make 和 publish,都忽略了 squirrel-maker。

一旦我需要使用“电子编译”时出现错误,但是当我安装它并尝试使用它时,当它遇到数组或对象的点运算符时,它一直在我的源代码上抛出错误?前任:

let object = {Name:"Something"}
let object2 = {Age:20}
let newObject = {
   ...object,
   ...object2
}

尝试使用“电子编译”框架时会抛出错误。

真的试图避免在我的 Mac 上的 Windows 和 Mac 之间来回切换,并且必须在两个平台上安装电子。package.json 文件:

"name": "MyApp",
  "productName": "My Fantastic App",
  "version": "1.1.4",
  "description": "The worlds most boring app.",
  "main": "src/index.js",
  "scripts": {
    "start": "electron-forge start",
    "package": "electron-forge package",
    "make": "electron-forge make",
    "publish": "electron-forge publish",
    "lint": "echo \"No linting configured\"",
    "dist": "build",
    "build": "electron-builder build --dir"
  },
  "keywords": [],
  "author": "sychordCoder",
  "license": "MIT",
  "config": {
    "forge": "./custom-not.js"
  },
  "dependencies": {
    "dotenv": "^9.0.2",
    "electron-dl": "^3.2.1",
    "electron-is-dev": "^2.0.0",
    "electron-log": "^4.3.5",
    "electron-squirrel-startup": "^1.0.0",
    "electron-updater": "^4.3.9",
    "firebase": "^8.6.2",
    "jquery": "^3.6.0",
    "pug": "^3.0.2"
  },
  "devDependencies": {
    "@electron-forge/cli": "^6.0.0-beta.54",
    "@electron-forge/maker-deb": "^6.0.0-beta.54",
    "@electron-forge/maker-dmg": "^6.0.0-beta.54",
    "@electron-forge/maker-rpm": "^6.0.0-beta.54",
    "@electron-forge/maker-squirrel": "^6.0.0-beta.54",
    "@electron-forge/maker-zip": "^6.0.0-beta.54",
    "@electron-forge/publisher-github": "^6.0.0-beta.54",
    "electron": "^12.0.0",
    "uglify-js": "^3.13.7"
  }
}

这是我的配置 js 文件:

module.exports = {
  packagerConfig: {
    name: 'MyApp',
    executableName: 'MyApp',
    asar: true,
    icon: 'src/images/icon128@2x',
    ignore: ["file1source.js","file2source.js"],
    appBundleId: 'MyAppId',
    osxSign: {
      identity: 'Developer ID Application: John Smith(90210)',
      hardenedRuntime: true,
      'gatekeeper-assess': false,
      entitlements: 'static/entitlements.plist',
      'entitlements-inherit': 'static/entitlements.plist',
      'signature-flags': 'library'
    },
    osxNotarize: {
      appleId: process.env.APPLE_ID,
      appleIdPassword: process.env.APPLE_PASSWORD
    }
  },
  makers: [
    {
      name: '@electron-forge/maker-squirrel',
      platforms: [
            "win32"
          ],
      config: {
        name: 'MyApp',
        description: 'The worlds most boring app.',
        version: '1.1.4'
      }
    },
    {
      name: '@electron-forge/maker-zip',
      platforms: [
        'darwin'
      ]
    },
    {
      name: '@electron-forge/maker-deb',
      config: {}
    },
    {
      name: '@electron-forge/maker-rpm',
      config: {}
    },
    {
      name: '@electron-forge/maker-dmg',
      config: {
        overwrite:true,
        icon: 'src/images/icon128@2x.icns'
      }
    }
  ],
  publishers: [
    {
      name: '@electron-forge/publisher-github',
      config: {
        repository: {
          owner: 'githubOwner',
          name: 'gitHubReleases'
        },
        prerelease: false,
        releaseType: "release",
        authToken: process.env.GH_TOKEN
      }
    }
  ]
}

任何帮助是极大的赞赏。谢谢,

标签: node.jselectronmonowineelectron-forge

解决方案


你应该打开 wine 终端来运行 build electron 的命令。


推荐阅读