You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker环境electron-builder构建Electron仅输出Linux包无Windows安装包问题

问题背景

在Mac设备上使用Docker配合Quasar框架构建Electron安装包,目标产物为64位Windows版本安装包。此前直接执行quasar build命令、在quasar.conf.js中配置Windows构建目标的方案依赖wine,仅能生成win32架构产物,无法满足64位Windows包的构建需求,因此改用Docker方案构建。

操作步骤
  • 参考Docker官方文档提供的启动命令运行electronuserland/builder:wine镜像,命令如下:
docker run --rm -ti \
 --env-file <(env | grep -iE 'DEBUG|NODE_|ELECTRON_|YARN_|NPM_|CI|CIRCLE|TRAVIS_TAG|TRAVIS|TRAVIS_REPO_|TRAVIS_BUILD_|TRAVIS_BRANCH|TRAVIS_PULL_REQUEST_|APPVEYOR_|CSC_|GH_|GITHUB_|BT_|AWS_|STRIP|BUILD_') \
 --env ELECTRON_CACHE="/root/.cache/electron" \
 --env ELECTRON_BUILDER_CACHE="/root/.cache/electron-builder" \
 -v ${PWD}:/project \
 -v ${PWD##*/}-node-modules:/project/node_modules \
 -v ~/.cache/electron:/root/.cache/electron \
 -v ~/.cache/electron-builder:/root/.cache/electron-builder \
 electronuserland/builder:wine
  • 容器启动后执行yarn && yarn dist命令触发构建
  • 项目package.json已在build字段配置win平台nsis打包目标,完整配置如下:
{
  "name": "pawtap3",
  "version": "0.0.1",
  "description": "Paw Tap Description",
  "main": "./src/router/index.js",
  "productName": "Paw Tap 3",
  "author": "C. Heyman",
  "private": true,
  "scripts": {
    "lint": "eslint --ext .js,.vue ./",
    "format": "prettier --write \"**/*.{js,vue,scss,html,md,json}\" --ignore-path .gitignore",
    "test": "echo \"No test specified\" && exit 0",
    "dist": "electron-builder"
  },
  "build": {
    "appId": "com.electron.pawtap",
    "win": {
      "target": "nsis"
    }
  },
  "dependencies": {
    "@quasar/extras": "^1.0.0",
    "child_process": "^1.0.2",
    "core-js": "^3.6.5",
    "crypto": "^1.0.1",
    "date-fns": "^2.28.0",
    "dexie": "^3.2.2",
    "dexie-export-import": "^1.0.3",
    "downloadjs": "^1.4.7",
    "fs": "^0.0.1-security",
    "jspdf": "^2.5.1",
    "jspdf-autotable": "^3.5.25",
    "net": "^1.0.2",
    "nodemailer": "^6.7.7",
    "o": "^2.3.2",
    "path": "^0.12.7",
    "quasar": "^2.0.0",
    "stream": "^0.0.2",
    "url": "^0.11.0",
    "util": "^0.12.4",
    "vue": "^3.0.0",
    "vue-router": "^4.0.0"
  },
  "devDependencies": {
    "@babel/eslint-parser": "^7.13.14",
    "@quasar/app": "^3.0.0",
    "electron": "^19.0.7",
    "electron-packager": "^15.2.0",
    "electron": "^16.0.7",
    "electron-builder": "^22.14.13",
    "eslint": "^7.14.0",
    "eslint-config-prettier": "^8.1.0",
    "eslint-plugin-vue": "^7.0.0",
    "eslint-webpack-plugin": "^2.4.0",
    "prettier": "^2.5.1"
  },
  "browserslist": [
    "last 10 Chrome versions",
    "last 10 Firefox versions",
    "last 4 Edge versions",
    "last 7 Safari versions",
    "last 8 Android versions",
    "last 8 ChromeAndroid versions",
    "last 8 FirefoxAndroid versions",
    "last 10 iOS versions",
    "last 5 Opera versions"
  ],
  "engines": {
    "node": ">= 12.22.1",
    "npm": ">= 6.13.4",
    "yarn": ">= 1.21.1"
  }
}
问题现象

实际构建过程中始终输出.snap、.AppImage格式的Linux平台安装包,未生成预期的nsis格式Windows安装包。作为Docker初学者,不清楚哪项配置有误导致构建平台与预期不符,需要可行的解决方案。

构建过程截图

构建过程截图1
构建过程截图2

内容的提问来源于stack exchange,提问作者Cynthia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 16:15:12