首页 / Tauri 2 入门教程 / macOS 环境搭建

Tauri 2 入门教程

macOS 环境搭建

本教程共 48 篇 · 第 7 篇 · 更新于 2026-08-09 · 约 6 分钟阅读

TaurimacOSXcodeWKWebView代码签名环境搭建

本节目标:在 Mac 上装好 Xcode Command Line Tools、确认 WebView(WKWebView)随系统就位,并提前理解”代码签名”为什么是 macOS 发布环节绕不开的一步。

macOS 是 Tauri 支持最”省心”的平台:系统自带 WebView(WKWebView),苹果也把编译所需的 C 工具链打包成了轻量的命令行工具。你几乎不用去下载什么”运行时”。但 macOS 有个 Windows 和 Linux 都没有的硬性要求——发布时必须代码签名,否则用户双击你的应用会直接被系统拦下。本章前半部分装环境,后半部分把这个”签名前置”讲清楚,让你心里有数。

确认 macOS 版本

Tauri 2.x 要求 macOS Catalina(10.15)或更新版本。点左上角苹果图标 →“关于本机”即可看到。较新的 Monterey / Ventura / Sonoma / Sequoia 都完全没问题。WKWebView 从 macOS 10.10 起就内置了,所以版本达标即代表 WebView 就绪。

安装 Xcode Command Line Tools

如果你只做桌面应用(不做 iOS),不需要下载整个 Xcode(那个包有十几个 G)。只要装轻量的 Xcode Command Line Tools(命令行工具) 就够了,它包含编译器 clang、构建工具 make、版本控制 git,以及编译 Tauri 所需的系统框架(含 WebKit 的头文件)。

一行命令触发安装:

xcode-select --install

弹窗里点”安装”并同意许可协议,等进度条走完。装好后验证:

clang --version
git --version

能看到版本号即成功。

Note

如果你还要把应用打包到 iOS,那必须装完整的 Xcode(从 Mac App Store 或苹果开发者网站下载),并且装完第一次要打开 Xcode 让它完成初始化设置。仅做桌面端的话,命令行工具足矣,别白等那个大下载。

WebView 在 macOS:WKWebView 随系统来

和 Windows 要单独装 WebView2 不同,macOS 的 WebView 叫 WKWebView,它是系统框架的一部分,随 macOS 一起装在机器里,不需要你手动下载任何”WebView 安装包”。

你真正要装的”命令行工具”起到的作用是:把编译时能用的 WebKit 开发头文件(SDK) 提供给你。也就是说,运行时的 WebView 系统自带,编译时的接口由 Xcode 命令行工具给。两者配合,Tauri 才能把界面画到窗口上。

Tip

验证 WKWebView 是否可用,最直接的办法就是等环境齐了跑一次 tauri dev:窗口正常弹出并显示前端页面,就说明 WKWebView 链路通了。在装环境阶段,你只需确认命令行工具装好即可。

安装 Rust

macOS 上的 Rust 用默认工具链就行,不存在 Windows 那种 MSVC/GNU 的二选一烦恼(Apple Silicon 机器默认是 aarch64-apple-darwin,Intel 机器是 x86_64-apple-darwin,都自动识别)。

官方推荐用 rustup 安装:

curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh

如果你装了 Homebrew(mac 上常用的包管理器),也可以:

brew install rustup
rustup-init

装完重启终端,验证:

rustc --version
cargo --version

安装 Node.js 与包管理器

用 JS 前端框架时,装 Node.js LTS。两种方式:

  • 去 Node.js 官网下安装包(最简单)。
  • 用 Homebrew:brew install node

想用 nvm 管版本或启用 pnpm/yarn,可以这样:

# 用 nvm 装并切换
nvm install 20
nvm use 20

# 想用 pnpm / yarn,先开 corepack
corepack enable

验证:

node -v
npm -v

验证整套环境

把关键命令串一遍,确认都返回版本号:

clang --version     # C 编译器(来自命令行工具)
git --version       # 版本控制
rustc --version     # Rust 编译器
cargo --version     # Rust 构建工具
node -v             # Node.js(用 JS 前端时)

五样齐全,macOS 开发环境就搭好了。

签名前置说明:为什么 macOS 这么”讲究”

在 Windows 和 Linux 上,你编译出的程序双击就能跑。macOS 不行——它有套叫 Gatekeeper 的安全机制:从浏览器下载的未签名应用,打开时会弹出”无法验证开发者”或”已损坏”的警告,甚至直接崩溃。所以 macOS 上代码签名(code signing)是发布的前提,而不是可选项。

这里先把关键事实讲清楚,具体的证书申请与配置留到打包分发章节细说:

  • 开发阶段不用签名:本地 tauri dev 跑起来的窗口不需要签名,你照常开发调试。
  • 发布阶段必须签名:把 .app 交给别人用时,必须用 Apple 开发者证书 签名,否则对方打不开。
  • 证书从哪来:加入 Apple Developer Program(个人/企业年费 99 美元),在开发者后台创建证书。分发到 App Store 用 Apple Distribution;分发到商店之外(官网下载)用 Developer ID Application
  • 本地签名怎么用:把证书装进 Mac 的”钥匙串(Keychain)“,Tauri 通过 tauri.conf.jsonbundle > macOS > signingIdentity 或环境变量 APPLE_SIGNING_IDENTITY 找到它。查看本机已装签名身份:
security find-identity -v -p codesigning
  • 公证(notarization):用 Developer ID Application 证书发布到店外时,还要把应用提交苹果”公证”,让苹果扫描其中是否含恶意代码。相关凭证通过 APPLE_API_ISSUERAPPLE_API_KEY 等环境变量提供给 Tauri。
  • CI/CD 场景:在自动构建平台签名时,要把证书导出成 .p12 再转成 base64 字符串,用 APPLE_CERTIFICATEAPPLE_CERTIFICATE_PASSWORD 两个环境变量传入。
Warning

签名是 macOS 独有的”发布关卡”。现在你只需知道”以后发布得签名、得有苹果开发者账号”这件事,提前规划预算和账号;真到打包那一步,再回来对照详细流程操作,不要在这个阶段卡住开发。

小结

本章在 macOS 上安装了 Xcode Command Line Tools(提供编译所需的 C 工具链与 WebKit 头文件),确认 WKWebView 随系统内置无需单独安装,随后装好 Rust 与 Node.js,并提前说明了代码签名与 Gatekeeper 机制是 macOS 发布环节绕不开的必要前提。搭好环境、心里有数之后,下一章我们转向 Linux——那里的 WebView 依赖和前两家都不一样。