Tauri 开发环境搭建 - Windows/macOS/Linux 完整指南
前言
上一篇文章我们了解了 Tauri 的核心优势和适用场景,相信你已经迫不及待想要动手尝试了。但是,俗话说"工欲善其事,必先利其器",在开始开发之前,我们需要先搭建好开发环境。
不得不说,Tauri 的环境搭建相比 Electron 要复杂一些,因为它涉及到 Rust、C++ 编译器等底层工具。但别担心,我会一步步带你完成整个过程,并且分享一些踩过的坑和解决方案。
这篇文章会详细介绍 Windows、macOS 和 Linux 三个平台的环境搭建步骤。
开发环境要求概览
在开始之前,先了解一下我们需要安装哪些东西:
核心依赖:
├── Node.js (v16+) # 前端开发环境
├── Rust (最新稳定版) # Tauri 核心语言
├── 系统特定依赖 # 每个平台不同
│ ├── Windows: WebView2, MSVC
│ ├── macOS: Xcode Command Line Tools
│ └── Linux: 各种系统库
└── 前端框架 (可选) # React, Vue, Svelte 等Windows 环境搭建
前置条件
Windows 推荐使用 Windows 10 1809 或更高版本。
步骤 1:安装 Microsoft Visual Studio C++ Build Tools
这是最容易出问题的一步,但是必不可少。
bash
# 方式 1:使用 Visual Studio Installer(推荐)
# 1. 访问 https://visualstudio.microsoft.com/downloads/
# 2. 下载 "Visual Studio 2022 Community"
# 3. 安装时选择 "使用 C++ 的桌面开发" 工作负载重要提示:
- 必须勾选 "C++ 生成工具"
- 必须勾选 "Windows 10/11 SDK"
- 安装大小约 6-8 GB,需要耐心等待
bash
# 方式 2:只安装 Build Tools(轻量级)
# 1. 访问 https://visualstudio.microsoft.com/visual-cpp-build-tools/
# 2. 下载 "Build Tools for Visual Studio 2022"
# 3. 安装时选择 "C++ 生成工具"步骤 2:安装 WebView2
大多数新版本的 Windows 10/11 已经预装了 WebView2,但为了保险起见:
bash
# 检查是否已安装 WebView2
# 打开注册表编辑器,查找:
# HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}
# 如果没有,下载安装:
# https://developer.microsoft.com/en-us/microsoft-edge/webview2/步骤 3:安装 Rust
powershell
# 下载 rustup-init.exe
# https://rustup.rs/
# 运行安装程序
rustup-init.exe
# 选择默认安装(输入 1 回车)
# 1) Proceed with installation (default)安装完成后,重启终端,然后验证:
powershell
# 验证安装
rustc --version
# 输出示例: rustc 1.75.0 (82e1608df 2023-12-21)
cargo --version
# 输出示例: cargo 1.75.0 (1d8b05cdd 2023-11-20)步骤 4:安装 Node.js
powershell
# 方式 1:从官网下载安装(推荐)
# https://nodejs.org/
# 方式 2:使用 Chocolatey
choco install nodejs
# 方式 3:使用 Scoop
scoop install nodejs
# 验证安装
node --version
# 输出示例: v20.11.0
npm --version
# 输出示例: 10.2.4步骤 5:安装 Tauri CLI
powershell
# 使用 npm 安装(推荐)
npm install -g @tauri-apps/cli
# 或者使用 Cargo 安装
cargo install tauri-cli
# 验证安装
npm exec tauri --version
# 或
cargo tauri --versionWindows 常见问题
问题 1:找不到 MSVC 编译器
bash
错误信息:
error: linker `link.exe` not found解决方案:
- 确保安装了 Visual Studio Build Tools
- 重启终端或 IDE
- 如果还不行,手动设置环境变量:
powershell
# 设置 Visual Studio 环境变量
"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"问题 2:Rust 编译速度慢
解决方案:
powershell
# 使用国内镜像源
# 创建或编辑 ~/.cargo/config.toml
[source.crates-io]
replace-with = 'ustc'
[source.ustc]
registry = "https://mirrors.ustc.edu.cn/crates.io-index"问题 3:WebView2 运行时错误
bash
错误信息:
Error: WebView2 runtime not found解决方案: 手动安装 WebView2 Runtime: https://go.microsoft.com/fwlink/p/?LinkId=2124703
macOS 环境搭建
macOS 的环境搭建相对简单,但也有一些注意事项。
前置条件
推荐使用 macOS 10.13 (High Sierra) 或更高版本。
步骤 1:安装 Xcode Command Line Tools
bash
# 安装 Command Line Tools
xcode-select --install
# 等待安装完成后,验证
xcode-select -p
# 输出示例: /Library/Developer/CommandLineTools步骤 2:安装 Rust
bash
# 安装 rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 选择默认安装(输入 1 回车)
# 加载环境变量
source $HOME/.cargo/env
# 验证安装
rustc --version
cargo --version步骤 3:安装 Node.js
bash
# 方式 1:使用 Homebrew(推荐)
brew install node
# 方式 2:使用 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install --lts
# 验证安装
node --version
npm --version步骤 4:安装 Tauri CLI
bash
# 使用 npm 安装
npm install -g @tauri-apps/cli
# 或使用 Cargo
cargo install tauri-cli
# 验证安装
npm exec tauri --versionmacOS 常见问题
问题 1:xcrun 错误
bash
错误信息:
xcrun: error: invalid active developer path解决方案:
bash
# 重新安装 Command Line Tools
sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install问题 2:权限问题
bash
错误信息:
Permission denied解决方案:
bash
# 修复 npm 权限
sudo chown -R $(whoami) ~/.npm
sudo chown -R $(whoami) /usr/local/lib/node_modules
# 或使用 nvm 避免权限问题问题 3:Apple Silicon (M1/M2) 兼容性
bash
# 如果遇到架构问题,确保使用 ARM64 版本的工具
# 检查当前架构
uname -m
# 输出: arm64 表示是 Apple Silicon
# Rust 会自动处理架构,无需特殊配置Linux 环境搭建
Linux 的环境搭建需要安装的系统库最多,但都比较直接。
支持的发行版
Tauri 官方支持以下发行版:
- Ubuntu 18.04+
- Debian 10+
- Arch Linux
- Fedora 36+
- openSUSE Tumbleweed
Ubuntu/Debian 环境搭建
步骤 1:安装系统依赖
bash
# 更新包管理器
sudo apt update
# 安装必需的依赖
sudo apt install -y \
libwebkit2gtk-4.0-dev \
build-essential \
curl \
wget \
libssl-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev步骤 2:安装 Rust
bash
# 安装 rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 加载环境变量
source $HOME/.cargo/env
# 验证
rustc --version
cargo --version步骤 3:安装 Node.js
bash
# 使用 NodeSource 仓库(推荐)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
# 或使用 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc
nvm install --lts
# 验证
node --version
npm --version步骤 4:安装 Tauri CLI
bash
# 使用 npm
npm install -g @tauri-apps/cli
# 验证
npm exec tauri --versionArch Linux 环境搭建
bash
# 安装依赖
sudo pacman -Syu
sudo pacman -S --needed \
webkit2gtk \
base-devel \
curl \
wget \
openssl \
gtk3 \
libappindicator-gtk3 \
librsvg
# 安装 Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 安装 Node.js
sudo pacman -S nodejs npm
# 安装 Tauri CLI
npm install -g @tauri-apps/cliFedora 环境搭建
bash
# 安装依赖
sudo dnf check-update
sudo dnf install -y \
webkit2gtk4.0-devel \
openssl-devel \
curl \
wget \
gtk3-devel \
libappindicator-gtk3-devel \
librsvg2-devel
# 安装开发工具
sudo dnf groupinstall "C Development Tools and Libraries"
# 安装 Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 安装 Node.js
sudo dnf install -y nodejs npm
# 安装 Tauri CLI
npm install -g @tauri-apps/cliLinux 常见问题
问题 1:缺少系统库
bash
错误信息:
package 'webkit2gtk-4.0' not found解决方案:
bash
# Ubuntu/Debian
sudo apt install libwebkit2gtk-4.0-dev
# Arch
sudo pacman -S webkit2gtk
# Fedora
sudo dnf install webkit2gtk4.0-devel问题 2:权限问题
bash
# 避免使用 sudo npm install
# 使用 nvm 或配置 npm 全局目录
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc问题 3:OpenSSL 版本问题
bash
错误信息:
error: failed to run custom build command for `openssl-sys`解决方案:
bash
# Ubuntu/Debian
sudo apt install libssl-dev pkg-config
# Arch
sudo pacman -S openssl pkg-config
# Fedora
sudo dnf install openssl-devel pkgconfig验证环境配置
创建测试项目
所有依赖安装完成后,让我们创建一个测试项目来验证环境:
bash
# 使用 Tauri CLI 创建项目
npm create tauri-app
# 按照提示操作:
# ✔ Project name: my-tauri-app
# ✔ Choose which language to use for your frontend: TypeScript / JavaScript
# ✔ Choose your package manager: npm
# ✔ Choose your UI template: Vanilla运行开发服务器
bash
# 进入项目目录
cd my-tauri-app
# 安装依赖
npm install
# 启动开发服务器
npm run tauri dev期望结果:
- 终端显示编译进度
- 首次编译需要 3-10 分钟(下载和编译 Rust 依赖)
- 成功后会打开应用窗口
- 显示 "Welcome to Tauri!" 欢迎页面
常见的首次运行问题
问题 1:编译时间太长
bash
# 首次编译很慢是正常的,因为需要:
# 1. 下载所有 Rust 依赖(可能几百个 crate)
# 2. 编译所有依赖(包括 webkit、openssl 等大型库)
# 3. 链接最终的可执行文件
# 解决方案:耐心等待,建议:
- 使用国内 Rust 镜像(前面已配置)
- 首次编译时不要中断
- 后续编译会快很多(增量编译)问题 2:端口冲突
bash
错误信息:
Port 1420 is already in use解决方案:
bash
# 方式 1:关闭占用端口的程序
# 方式 2:修改配置
# 编辑 tauri.conf.json
{
"build": {
"devPath": "http://localhost:3000" // 改成你的端口
}
}问题 3:热重载不工作
bash
# Tauri 的热重载有两层:
# 1. 前端热重载(由 Vite/Webpack 等提供)
# 2. Rust 代码修改需要重新编译
# 如果前端热重载不工作:
- 检查前端开发服务器是否正常运行
- 查看 devPath 配置是否正确
- 尝试重启 tauri devIDE 配置推荐
Visual Studio Code
推荐安装以下扩展:
json
{
"recommendations": [
"rust-lang.rust-analyzer", // Rust 语言支持
"tauri-apps.tauri-vscode", // Tauri 官方扩展
"vadimcn.vscode-lldb", // Rust 调试
"serayuzgur.crates", // Cargo.toml 依赖管理
"esbenp.prettier-vscode", // 代码格式化
"dbaeumer.vscode-eslint" // JavaScript/TypeScript 检查
]
}VS Code 设置:
json
{
"rust-analyzer.checkOnSave.command": "clippy",
"rust-analyzer.cargo.features": "all",
"editor.formatOnSave": true,
"files.autoSave": "afterDelay"
}WebStorm / IntelliJ IDEA
bash
# 安装插件:
1. Rust 插件(官方)
2. Tauri 插件
3. 配置 Rust 工具链路径Sublime Text
bash
# 安装 Package Control,然后安装:
1. Rust Enhanced
2. LSP
3. LSP-rust-analyzer性能优化建议
Rust 编译速度优化
toml
# 在项目根目录创建 .cargo/config.toml
[build]
# 使用多核编译
jobs = 8
[profile.dev]
# 开发模式不优化依赖,只优化你的代码
opt-level = 0
[profile.dev.package."*"]
# 优化依赖,提升开发时的运行性能
opt-level = 3减少编译时间
bash
# 方式 1:使用 sccache(编译缓存)
cargo install sccache
export RUSTC_WRAPPER=sccache
# 方式 2:使用 mold 链接器(Linux)
sudo apt install mold
# 在 .cargo/config.toml 中:
[target.x86_64-unknown-linux-gnu]
linker = "clang"
rustflags = ["-C", "link-arg=-fuse-ld=mold"]
# 方式 3:使用 lld 链接器(所有平台)
# 在 .cargo/config.toml 中:
[target.x86_64-pc-windows-msvc]
rustflags = ["-C", "link-arg=-fuse-ld=lld"]总结
环境搭建完成!让我们回顾一下关键步骤:
✅ 必装组件
| 组件 | Windows | macOS | Linux |
|---|---|---|---|
| Node.js | ✓ | ✓ | ✓ |
| Rust | ✓ | ✓ | ✓ |
| C++ 工具链 | MSVC | Xcode CLT | GCC |
| WebView | WebView2 | 系统自带 | webkit2gtk |
| Tauri CLI | ✓ | ✓ | ✓ |
🎯 检查清单
在开始开发之前,确保:
bash
# ✅ 所有命令都能正常运行
node --version
npm --version
rustc --version
cargo --version
npm exec tauri --version
# ✅ 能成功创建和运行测试项目
npm create tauri-app
cd my-tauri-app
npm install
npm run tauri dev
# ✅ 应用窗口能正常打开
# ✅ 控制台没有报错💡 新手提示
首次编译很慢是正常的
- 需要下载和编译大量依赖
- 后续会快很多(增量编译)
- 建议使用国内镜像
遇到问题先查官方文档
善用社区资源
- GitHub Issues
- Discord 社区
- Stack Overflow
🚀 下一步
环境搭建完成后,你已经准备好开始 Tauri 开发了!
下一篇文章,我们将:
- 创建第一个 Tauri 应用
- 了解项目结构
- 实现前后端通信
- 添加基本功能
相关文章推荐:
遇到问题?欢迎在评论区留言,我会及时解答!
实用链接: