Clash Party 桌面客户端打包指南:从源码到全平台安装包
1. 项目概览 clash-party(https://github.com/zdltech8989/clash-party)是一套 Electron + Vue3(或 React) 的跨平台桌面客户端,用来可视化管理 Clash(代理)规则、订阅等功能。 项目的目录结构大致如下(以官方仓库为准): clash-party/ ├─ public/ # 静态资源(图标、网页入口文件等) ├─ src/ # 前端代码(Vue/React + TypeScript) │ ├─ renderer/ # 渲染进程(UI) │ └─ main/ # 主进程(Electron 主入口) ├─ build/ # 打包脚本、electron-builder 配置 ├─ electron-builder.yml # electron‑builder 配置文件 ├─ package.json └─ ... # 其他 核心技术栈 Electron(负责创建跨平台的原生窗口、系统托盘、文件系统 API) Vite / Webpack(编译前端资源) electron‑builder(把 Electron 项目打包成 Windows .exe、macOS .dmg/.pkg、Linux .AppImage/.deb/.rpm 等可分发文件) 下面会一步步讲解 如何把源码编译并打包成可运行的桌面客户端,并分别说明在 Windows、macOS、Linux 三个平台上需要的工具与注意事项。 2. 打包前的准备工作 环境 必装软件 说明 通用 - Node.js ≥ 18(LTS) - npm(或 yarn、pnpm) - Git 项目本身的依赖管理与构建脚本都基于 Node。 Windows 本机打包 - Windows 10/11 - VS Build Tools(包含 windows-build-tools) - (可选) wine 用来在 Linux 上交叉编译 Windows Electron‑builder 会调用 nsis 生成安装程序,需要本机或交叉的 wine。 macOS 本机打包 - macOS 12+(推荐最新) - Xcode Command Line Tools (xcode-select --install) 生成 .dmg/.app 需要 codesign 与 productsign,如果要做 notarization(苹果公证),还需要 Apple Developer 账号并配置 APPLE_ID、APPLE_APP_SPECIFIC_PASSWORD 环境变量。 Linux 本机打包 - Ubuntu 22.04 / Debian 12 / Fedora 39 等(64‑bit) - fakeroot、dpkg、rpm、snapcraft(取决于要生成的包格式) Linux 打包相对直接,只要系统支持对应的打包工具。 交叉编译(可选) - wine(Linux → Windows) - electron-builder 内置的 electron-osx-zip(macOS 包必须在 macOS 环境下生成) Linux/macOS 可以用 wine 生成 Windows 安装包;但 macOS 包只能在 macOS 上生成(除非使用 CI/CD/macOS 虚拟机)。 Tip:如果你只想快速生成可执行文件而不在意安装器(.exe、.dmg),可以直接使用 electron-builder 的 --dir 选项生成 “解压即用”(portable) 的文件夹。 ...