当前位置: 首页 > 知识库问答 >
问题:

前端 - 请问怎么在 wsl (debian)中为 electron-forge 项目打包 deb?

申屠森
2024-06-06

我直接进入wsl debian 跑 npm run make 结果指出来 squirrel 的包,为啥子捏。
不应该是deb包么
image.png
我尝试了
有在 debian linux 中重新安装依赖

npm i

然后运行

npm run make -- --platform linux

结果报错了

  › Cannot make for linux and target deb: the maker declared that it cannot run on win32.                                                                                         

共有2个答案

陶树
2024-06-06

electron 的编译会根据不同的系统进行编译
如果在wsl中进行编译,需要重新在 wsl 安装 nodejs 以及具体依赖。

首先在 wsl 中安装 nodejs( 建议使用nvm 或者 fnm

curl -fsSL https://fnm.vercel.app/install | bashsource /root/.bashrcfnm intall 20 fnm use 20

然后重新安装依赖

npm i

安装成功后编译可能还是失败,因为 缺少 dpkg 和 fakeroot 安装他

apt update && apt upgrade && apt install fakeroot dpkg -y

我使用vite 所以还需要安装 @rollup/rollup-linux-x64-gnu

npm i @rollup/rollup-linux-x64-gnu -D

然后重新运行 make 命令

npm run make

最后终于打包成功了。

陆俊捷
2024-06-06

在 WSL (Windows Subsystem for Linux) 中使用 Electron Forge 为 Electron 项目打包 .deb 文件时,如果你遇到了与 Squirrel 相关的错误或输出,这可能是因为 Electron Forge 试图为 Windows 平台打包应用程序,而不是 Debian 或其他 Linux 发行版。

Electron Forge 支持为多种平台打包应用程序,但你需要确保你正确配置了目标平台。默认情况下,如果你的开发环境在 Windows 上,Electron Forge 可能会尝试为 Windows 平台打包(即使用 Squirrel)。

为了在 WSL Debian 中为 Electron 项目打包 .deb 文件,你需要确保以下几点:

  1. 设置目标平台
    确保你的 package.json 文件中正确设置了 electronForgeConfig 下的 makers 配置,以包含 Debian 的打包器。例如:

    "electronForgeConfig": {  "makers": [    {      "name": "@electron-forge/maker-deb",      "config": {        // 这里可以添加针对 deb 打包的特定配置      }    }    // 其他可能的 makers 如 squirrel.windows 等  ]}
  2. 安装必要的依赖
    确保你已经安装了 @electron-forge/maker-deb 和其他必要的依赖。你可以通过运行以下命令来安装它们:

    npm install --save-dev @electron-forge/maker-deb
  3. 运行打包命令
    在配置好目标平台并安装了必要的依赖之后,你可以运行打包命令:

    npm run make

或者指定只打包 .deb

npx electron-forge make --targets=deb

使用 --targets=deb 参数可以确保 Electron Forge 只为 Debian 或 Ubuntu 打包 .deb 文件。

  1. 检查错误输出
    如果运行打包命令后仍然遇到问题,请检查终端输出的错误信息。错误信息通常会提供关于问题原因的线索,可能是配置问题、缺失的依赖或其他问题。

请注意,在 WSL 中打包 Linux 发行版的 .deb 文件可能受到 WSL 功能的限制,因为 WSL 主要是为了与 Windows 应用程序的兼容性而设计的。在某些情况下,直接在 Linux 环境中进行打包可能更为可靠和方便。如果你经常需要为 Linux 发行版打包 Electron 应用,考虑使用原生 Linux 环境可能是个好主意。

 类似资料: