Skip to content

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 --version

Windows 常见问题

问题 1:找不到 MSVC 编译器

bash
错误信息:
error: linker `link.exe` not found

解决方案

  1. 确保安装了 Visual Studio Build Tools
  2. 重启终端或 IDE
  3. 如果还不行,手动设置环境变量:
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 --version

macOS 常见问题

问题 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 --version

Arch 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/cli

Fedora 环境搭建

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/cli

Linux 常见问题

问题 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 dev

IDE 配置推荐

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"]

总结

环境搭建完成!让我们回顾一下关键步骤:

✅ 必装组件

组件WindowsmacOSLinux
Node.js
Rust
C++ 工具链MSVCXcode CLTGCC
WebViewWebView2系统自带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

# ✅ 应用窗口能正常打开
# ✅ 控制台没有报错

💡 新手提示

  1. 首次编译很慢是正常的

    • 需要下载和编译大量依赖
    • 后续会快很多(增量编译)
    • 建议使用国内镜像
  2. 遇到问题先查官方文档

  3. 善用社区资源

    • GitHub Issues
    • Discord 社区
    • Stack Overflow

🚀 下一步

环境搭建完成后,你已经准备好开始 Tauri 开发了!

下一篇文章,我们将:

  • 创建第一个 Tauri 应用
  • 了解项目结构
  • 实现前后端通信
  • 添加基本功能

相关文章推荐:

遇到问题?欢迎在评论区留言,我会及时解答!


实用链接: