电子制造商在Windows上创建.dmg

时间:2019-09-17 22:26:02

标签: macos electron exe electron-builder dmg

我想为Windows,mac和linux创建我的电子应用程序安装程序,但是目前它只创建.exe文件:

enter image description here

和一些Win-Unpacked目录以及一些其他文件,我什至不知道为什么需要该文件,因为.exe文件正在安装我的应用程序并创建桌面快捷方式,我什至不需要那些额外的文件来使应用程序正常工作

换句话说-当我只复制.exe并在其他计算机上运行时,它安装成功,因此为什么我什至需要那些其他文件?


因此它可以在Windows上正常工作,但不会创建任何我可以在macOS和linux上运行的文件,例如.dmg。

这是我的package.json

{
  "name": "screenrecorder",
  "version": "1.0.0",
  "description": "Electron application to record screen",
  "main": "./src/js/main/index.js",
  "scripts": {
    "start": "electron ./src/js/main/index.js",
    "compile:sass": "node-sass src/style/scss/main.scss src/style/css/output.css -w",
    "build": "electron-builder"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/d0peCode/screenRecorder"
  },
  "build": {
    "appId": "screenrecorder",
    "mac": {
      "category": "your.app.category.type",
      "target": "dmg"
    }
  },
  "author": "Borys Tyminski",
  "license": "ISC",
  "homepage": "https://github.com/d0peCode/screenRecorder#readme",
  "dependencies": {
    "angular": "^1.6.5",
    "angular-route": "^1.6.5"
  },
  "devDependencies": {
    "electron": "^6.0.2",
    "electron-builder": "^21.2.0",
    "node-sass": "^4.9.2"
  }
}

这是我在运行npm run build后从终端登录的日志

  

C:\ Users \ Borys \ Documents \ work \ screenRecorder \ desktop> npm运行构建

     

screenrecorder@1.0.0构建> C:\ Users \ Borys \ Documents \ work \ screenRecorder \ desktop

     
    

电子生成器

  
     

•electronic-builder版本= 21.2.0 os = 10.0.18362

     

•加载的配置文件= package.json(“内部”字段)

     

•编写有效的配置文件= dist \ builder-effective-config.yaml

     

•包装平台= win32拱= x64电子= 6.0.6 appOutDir = dist \ win-unpacked

     

•使用默认的电子图标原因=未设置应用程序图标

     

•构建目标= nsis文件= dist \ screenrecorder设置1.0.0.exe拱门= x64 oneClick = true perMachine = false

     

•构建块映射blockMapFile = dist \ screenrecorder设置1.0.0.exe.blockmap

为什么不创建macOS安装程序?以及要这样做的步骤是什么?

1 个答案:

答案 0 :(得分:0)

您不能使用Windows上的Electron来构建macOS可执行文件,因为它需要Apple SDK和XCode工具。 Linux可以使用,但是您需要在构建配置中指定格式和体系结构。

例如,要为ARMv7l CPU构建AppImage格式的Linux可执行文件,可以使用以下配置:

linux: {
    target: {
        target: 'appimage',
        arch: ['armv7l']
    }
}

有关Linux构建选项的完整文档为available here