ueli 打包发布指南:如何构建跨平台安装包
作为一款功能强大的跨平台快捷启动器,ueli 为 Windows、macOS 和 Linux 用户提供了高效的应用程序启动体验。本指南将详细介绍如何从源码构建 ueli 的安装包,包括 DMG、MSI、AppImage 等多种格式,让您能够轻松发布和分发这个优秀的工具。
📦 ueli 项目概述
ueli 是一个现代化的键盘启动器,支持快速搜索应用程序、文件、浏览器书签等,极大地提升了工作效率。项目基于 Electron 框架构建,使用 TypeScript 和 React 开发,具备完整的跨平台能力。
核心功能亮点:
- 🔍 快速应用程序搜索
- 📁 文件和文件夹搜索
- 🌐 网页搜索和书签管理
- ⚡ 系统命令快速执行
- 🎨 多种主题切换支持
🛠️ 打包环境准备
在开始打包之前,请确保您的系统已安装必要的开发工具:
基础依赖安装
# 克隆项目源码
git clone https://gitcode.com/gh_mirrors/ue/ueli
# 安装 Node.js 和 npm
# 推荐使用 Node.js 18+ 版本
# 安装项目依赖
npm install
平台特定配置
ueli 使用 electron-builder 进行多平台打包,配置文件位于 electron-builder.config.js。该文件针对不同操作系统定义了专门的打包选项:
macOS 配置:
- 生成 DMG 安装包和 ZIP 压缩包
- 自动代码签名支持(通过
build/macos/codeSign.mjs) - 应用图标:
assets/Build/app-icon-dark.png
Windows 配置:
- 支持 MSI、NSIS、ZIP 和 AppX 格式
- Windows Store 发布就绪
Linux 配置:
- 生成 AppImage、DEB、RPM 包
- 支持 x64 和 arm64 架构
🚀 打包执行步骤
1. 项目构建
首先需要构建项目源码:
npm run build
此命令会使用 Vite 构建工具编译 TypeScript 和 React 代码,生成优化的生产版本。
2. 打包命令执行
使用以下命令开始打包过程:
npm run package
此命令会调用 electron-builder,根据当前操作系统自动选择对应的打包配置。
📋 支持的安装包格式
macOS 平台
- DMG:标准的磁盘镜像安装包
- ZIP:便携式压缩版本
Windows 平台
- MSI:Windows Installer 安装包
- NSIS:Nullsoft Scriptable Install System
- AppX:Windows Store 应用包
- ZIP:便携式版本
Linux 平台
- AppImage:通用的应用程序格式
- DEB:Debian/Ubuntu 包格式
- RPM:Red Hat/CentOS 包格式
⚙️ 高级打包选项
自动发布功能
ueli 支持一键发布到各大平台:
npm run package:publish
此命令会自动构建并发布到 GitHub Releases、Amazon S3 等平台。
自定义打包配置
如需自定义打包选项,可以修改 electron-builder.config.js 文件:
关键配置项:
appId:应用程序唯一标识符productName:产品显示名称- 输出目录:
release/ - 资源目录:
build/
🎯 打包最佳实践
1. 版本管理
确保在 package.json 中正确设置版本号,electron-builder 会自动使用该版本。
2. 代码签名
对于正式发布,建议配置代码签名:
- macOS:使用
build/macos/codeSign.mjs - Windows:配置证书文件
3. 多平台构建
建议在不同平台上分别执行打包命令,以获得最优的安装包体验。
🔍 常见问题解决
依赖问题处理
如果遇到原生模块问题,使用重建命令:
npm run rebuild
构建错误排查
- 检查 TypeScript 类型错误:
npm run typecheck - 运行代码检查:
npm run lint - 执行测试:
npm run test
📊 发布流程总结
完整的 ueli 发布流程包括:
- ✅ 代码质量检查
- 🔨 项目构建
- 📦 安装包生成
- 🚀 自动发布(可选)
💡 实用提示
- 打包前确保所有测试通过
- 使用
npm run check进行综合检查 - 生成的安装包位于
release/目录
通过本指南,您可以轻松掌握 ueli 的打包发布流程,无论是个人使用还是团队分发,都能获得专业的安装包体验。ueli 的跨平台设计确保了在各个操作系统上的一致性和稳定性,是提升工作效率的得力助手。
无论您是开发者想要贡献代码,还是普通用户希望自定义构建,这份指南都将为您提供完整的技术支持。开始构建您专属的 ueli 版本吧!✨
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C0131
let_datasetLET数据集 基于全尺寸人形机器人 Kuavo 4 Pro 采集,涵盖多场景、多类型操作的真实世界多任务数据。面向机器人操作、移动与交互任务,支持真实环境下的可扩展机器人学习00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python059
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
AgentCPM-ReportAgentCPM-Report是由THUNLP、中国人民大学RUCBM和ModelBest联合开发的开源大语言模型智能体。它基于MiniCPM4.1 80亿参数基座模型构建,接收用户指令作为输入,可自主生成长篇报告。Python00

