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

使用WSL2时electron-forge make仅生成deb/rpm,如何生成exe?

问题描述

我正在使用WSL2,已成功运行npm run make命令,对应的package.json脚本配置如下:

...
"scripts": {
    ...,
    "make": "electron-forge make"
  },
...

但生成分发包时,仅输出以下内容:

✔ Making distributables
  ✔ Making a deb distributable for linux/x64 [12s]
  ✔ Making a rpm distributable for linux/x64 [25s]

请问有什么方法能让electron-forge同时生成Windows平台的exe文件?

解决方案

方法1:在WSL2中通过Wine实现跨平台构建

WSL2默认仅构建当前Linux平台的包,要生成Windows exe需借助Wine模拟Windows环境:

  • 先在WSL2中安装Wine:
    sudo apt update && sudo apt install wine64
    
  • 修改package.json的make脚本,指定Windows为目标平台:
    "scripts": {
        ...,
        "make": "electron-forge make --platform win32"
      },
    
    或直接在命令行运行:
    npm run make -- --platform win32
    
  • 注意:这种方法可能出现依赖缺失或兼容性问题,若构建失败优先尝试方法2。

方法2:在Windows原生环境中构建

Electron Forge在原生Windows环境下构建Windows包更稳定:

  • 在Windows主机的PowerShell/CMD中,通过\\wsl$\<你的WSL发行版名称>\<项目路径>访问WSL内的项目文件。
  • 确保Windows环境已安装Node.js和npm,执行:
    npm install
    npm run make
    
    运行后默认生成Windows平台的exe安装包。

方法3:配置Electron Forge指定多平台构建

若需单次命令同时生成Linux和Windows包,修改Electron Forge配置文件(通常为forge.config.js或forge.config.json):

module.exports = {
  // 其他配置...
  makers: [
    // 保留现有Linux打包工具
    {
      name: '@electron-forge/maker-deb',
      config: {},
    },
    {
      name: '@electron-forge/maker-rpm',
      config: {},
    },
    // 添加Windows打包工具(生成exe安装包)
    {
      name: '@electron-forge/maker-squirrel',
      config: {
        name: '你的应用名称',
      },
    },
  ],
  // 指定要构建的双平台
  platforms: ['linux', 'win32'],
};

然后在WSL2中安装Windows打包工具依赖:

npm install --save-dev @electron-forge/maker-squirrel

执行npm run make即可同时生成Linux和Windows包(仍需Wine支持Windows平台构建)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 14:14:57