Tauri 打包发布全流程:从源码一键生成 deb/msi/dmg 安装包清单
Tauri 打包发布全流程:从源码一键生成 deb/msi/dmg 安装包清单
【免费下载链接】tauri-tutorial📚 Tauri Tutorial (系列教程 - 打造属于自己的跨端应用)项目地址: https://gitcode.com/gh_mirrors/ta/tauri-tutorial
如果你正在用Tauri开发跨端应用,最关心的问题之一就是:写好的代码如何变成 Windows 的 msi、macOS 的 dmg、Linux 的 deb 安装包?本篇文章为你整理一份Tauri 打包发布清单,从环境准备、构建配置到一键发布,帮你快速上手跨端应用打包流程。本文以开源项目 Tauri Tutorial(📚 Tauri 系列教程,打造属于自己的跨端应用)为例,手把手演示完整操作。
为什么选择 Tauri 打包跨端应用?
Tauri 与传统方案最大的不同在于:它基于系统 WebView 渲染界面,打包体积小、内存占用低,同时支持 Rust 后端能力。它的打包系统内置了对三大平台的支持,一条命令即可产出安装包:
- 🪟 Windows:生成
.msi(以及可选的.exe安装程序) - 🍎 macOS:生成
.dmg镜像与.app应用 - 🐧 Linux:生成
.deb、.rpm、.AppImage
打包前必备环境清单
在开始 Tauri 打包之前,请先确认你的开发机满足以下条件:
| 平台 | 必需工具 | 说明 |
|---|---|---|
| 全平台 | Rust(rustc + cargo) | Tauri 后端编译依赖 |
| 全平台 | Node.js 与包管理器(yarn/npm) | 前端构建依赖 |
| Linux | libwebkit2gtk-4.0-dev、build-essential、libssl-dev等 | deb 打包需要 |
| macOS | Xcode Command Line Tools | 签名与 dmg 生成 |
| Windows | Microsoft C++ Build Tools + WebView2 | msi 打包需要 |
本项目的README.md还额外提到 Rust 生态的wasm-pack与rsw(Rust 前端工具链),配合rsw.toml使用,如果你的项目也用到 wasm 编译,需要一并安装。
理解 tauri.conf.json 的打包配置
Tauri 的打包行为全部由src-tauri/tauri.conf.json控制,这是打包发布的核心配置文件。关键字段如下:
package.productName:安装包显示名称(本项目中为OhMyBox)package.version:版本号,会同步读取根目录package.json的version字段bundle.active:是否启用打包,必须为truebundle.targets:目标格式,all表示当前平台所有支持的格式bundle.identifier:应用唯一标识,如com.lencx.ombbundle.icon:各平台图标,包含icon.icns、icon.ico与多尺寸 pngbundle.deb.depends:deb 包的依赖声明bundle.windows:Windows 签名与摘要算法配置
此外,build.beforeBuildCommand会在打包前自动执行前端构建(本项目配置为yarn build),distDir指向../dist前端产物目录,Tauri 会把它们一并封装进安装包。
一键安装步骤:执行打包命令
环境与配置就绪后,Tauri 打包只需要一行命令。在项目根目录执行:
yarn tauri build这条命令会依次完成:
- 执行
beforeBuildCommand,构建前端资源(本项目会触发rsw build、tsc、vite build) - 编译 Rust 后端(首次编译较慢,耐心等待)
- 调用系统打包器生成对应平台的安装包
最快配置方法:只构建指定格式
如果只想产出单一格式,可以追加--bundles参数,例如:
# 仅生成 Linux deb 安装包 yarn tauri build --bundles deb # 仅生成 Windows msi 安装包 yarn tauri build --bundles msi # 仅生成 macOS dmg 安装包 yarn tauri build --bundles dmg调试打包问题的小技巧
- 打包失败时,先单独运行
yarn build确认前端产物正常 - 查看
src-tauri/target/release/bundle/目录,安装包会按平台分类输出 - 若改动过
tauri.conf.json,需重新执行完整打包命令才会生效
版本号管理与发布脚本
Tauri Tutorial 项目提供了完善的发布脚本,位于scripts/目录,让发布流程更加自动化:
- release.mjs:版本发布脚本,支持
major、minor、patch三种版本号升级方式,运行yarn release即可自动更新package.json版本号、生成更新日志并打 git tag - updatelog.mjs:解析
UPDATE_LOG.md,按 tag 提取对应版本的更新说明 - updater.mjs:自动生成 Tauri 内置更新器的
install.json配置(需GITHUB_TOKEN环境变量),对应tauri.conf.json中updater配置段
版本号升级示例:
# 补丁版本:0.1.7 → 0.1.8 yarn release patch # 次版本:0.1.7 → 0.2.0 yarn release minor跨平台发布注意事项
Windows msi 打包要点
- 需要 Microsoft C++ Build Tools,并勾选 Windows SDK
- 若配置了签名,需在
tauri.conf.json的windows.certificateThumbprint中填入证书指纹 - 默认使用
sha256摘要算法
macOS dmg 打包要点
- 必须先安装 Xcode Command Line Tools
- 未签名时系统会提示“无法验证开发者”,需要右键打开或配置
signingIdentity - 本项目开启了
macOSPrivateApi与毛玻璃效果(见 setup.rs),仅支持 macOS,无需额外配置
Linux deb 打包要点
- 需安装
libwebkit2gtk-4.0-dev等系统依赖 - 可在
bundle.deb.depends中补充运行依赖 - 生成的 deb 可直接用
dpkg -i安装,或用.AppImage免安装运行
分发与自动更新
安装包生成后,你需要把它们上传到自己的更新服务器。Tauri 内置了 updater 功能,本项目配置了updater段(active: true),支持 Windows、macOS、Linux 三端在线更新。配合scripts/updater.mjs生成的install.json,应用启动时会自动检测新版本并提示升级。
总结
从源码到安装包的 Tauri 打包发布流程其实很简单:准备好环境 → 配置tauri.conf.json→ 执行yarn tauri build→ 分发安装包。Tauri Tutorial 项目还提供了完整的版本管理与自动更新脚本,值得作为参考模板。如果你想动手实践,可以克隆仓库https://gitcode.com/gh_mirrors/ta/tauri-tutorial亲自体验一次完整的打包发布之旅 🚀。
【免费下载链接】tauri-tutorial📚 Tauri Tutorial (系列教程 - 打造属于自己的跨端应用)项目地址: https://gitcode.com/gh_mirrors/ta/tauri-tutorial
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
