3.1 环境依赖:Rust、Node与平台组件


备料从搞清楚"要买什么"开始。本节按平台列出 Tauri 开发的完整前置清单,每项都说明它在装配图里对应哪个零件、怎么装、怎么自检。跟着本节把环境立起来,3.2 的脚手架才能一次跑通。

通用底座:两套工具链

无论哪个平台,先装两样:

Rust 工具链(芯的编译器)。用 rustup 安装管理器,它会同时装上 rustc 编译器与 cargo 包管理器:

# Windows 与 macOS / Linux 通用(Windows 按提示选默认安装) rustup --version # 有版本号即安装成功 rustc --version cargo --version

Node.js 与包管理器(前端侧)。Tauri 本身不依赖 Node——纯 HTML 项目也能跑——但现代前端工程离不开它。装 LTS 版本即可,node --versionnpm --version 有输出就行。用 pnpm 或 yarn 亦可,命令在后文自行替换。

这两套工具链的分工值得背下来:cargo 管 src-tauri 工程,npm 管前端工程,tauri-cli 只是站在两边的指挥。日后依赖装错边(把 Rust 包装进 package.json 或反之)是常见的乌龙。

Windows:编译链与壳组件

# 1. Microsoft C++ 构建工具(MSVC),Rust 在 Windows 上默认用它链接 # 从 Visual Studio 官网安装"使用 C++ 的桌面开发"工作负载 # 2. Rust(选 x86_64-pc-windows-msvc 默认工具链) # 3. WebView2 运行时:Win10 较新版本与 Win11 已预装 # 未装时从微软官网装 Evergreen Bootstrapper

三样东西的角色要分清:MSVC 是链接器与系统库的来源,缺了它 cargo 编译在最后链接一步报"找不到 link.exe";Rust 工具链在 MSVC 之上工作;WebView2 是壳,开发机没有它窗口弹不出来——若你的用户群里有老系统,8.2 节会在打包时带上自动安装引导。

macOS:Xcode 命令行工具

xcode-select --install # 装编译器与系统 SDK rustup target add aarch64-apple-darwin x86_64-apple-darwin

第一条装 clang 与 macOS SDK,是 Rust 编译的底座;第二条为交叉编译做准备——Apple Silicon(aarch64)与 Intel(x86_64)两套目标都装上,8.1 节打通用二进制时直接可用。macOS 的壳 WKWebView 随系统自带,无需额外安装。

Linux:WebKitGTK 开发包

Linux 的壳需要手动装开发包,这也是三平台里唯一"必须用包管理器装壳"的平台。以 Debian、Ubuntu 系为例:

sudo apt update sudo apt install libwebkit2gtk-4.1-dev \ build-essential \ curl \ wget \ file \ libxdo-dev \ libssl-dev \ libayatana-appindicator3-dev \ librsvg2-dev

逐项点名:libwebkit2gtk-4.1-dev 是壳本体(注意 4.1——老教程里的 4.0 包对应旧版 Tauri);build-essential 是编译链;libxdo-dev 供模拟输入的插件用;libssl-dev 给网络能力供 TLS;libayatana-appindicator3-dev 支撑托盘图标;librsvg2-dev 处理 SVG 图标渲染。Fedora 系用 dnf 装对应的 gtk3-devel、webkit2gtk4.1-devel 等同名件。装完用 pkg-config --modversion webkit2gtk-4.1 自检,输出版本号即通。

图 3-1:三平台备料清单

图 3-1:三平台备料清单

备料的进阶问题:多版本与团队统一

单机装完只是起点,团队协作还有两件事值得提前定。Rust 版本策略:rustup 默认跟踪稳定版通道,Tauri 对工具链版本的要求随框架版本演进,团队约定"用 rustup 更新到最新稳定版即可"最省心;不必追 nightly,Tauri 的稳定版从不依赖 nightly 特性。Node 版本策略:用版本管理工具锁定项目所需的 LTS 大版本,写进仓库的工程配置文件,新人克隆即得正确环境——前端侧的"在我机器上是好的"问题,多半是版本漂移。两条策略各一行写进项目自述文件,胜过口口相传。

CI 机器也要备料。 本地能跑不等于 CI 能跑:云上的虚拟机是裸环境,Windows runner 通常自带 MSVC 与 WebView2、macOS runner 自带 Xcode、Linux runner 则必须先装 WebKitGTK 全家桶——把 3.1 的安装命令抄进 CI 配置的安装步骤里。8.1 节的构建矩阵会直接引用这份清单,备料文档写清楚,CI 配置就是五分钟的事。

磁盘与网络的真实消耗

提前打好招呼可以避免中途放弃:Rust 工具链加上 Tauri 项目的依赖缓存,磁盘占用会到数 GB 量级,Windows 的 MSVC 构建工具也以 GB 计——装机时给开发盘留足空间。首次构建要下载并编译大量 crate,网络不佳时这一步格外漫长,属正常现象;此后增量构建不再重复下载。若公司网络有代理限制,给 cargo 与 npm 各配好代理,是入职新环境的第一件小事。这些不算技术难点,但每一件都可能成为"第一晚就放弃"的理由,提前知晓即可从容。

自检与常见卡点

备料完成的验收只有一条:任意目录下 cargo new 建的工程能 cargo run 打印 Hello, world。对照三个高频卡点:Windows 报找不到链接器——MSVC 工作负载没装全,重开 Visual Studio 安装器补"使用 C++ 的桌面开发";Linux 编译报 webkit2gtk 找不到——装成了 4.0 包或没装 dev 后缀的开发包;macOS 上链接报 SDK 版本——Xcode 命令行工具太旧,重新执行安装命令或更新系统。所有报错先看第一行,Rust 的错误提示通常直接告诉你缺什么。

本节要点回顾

  • 两套工具链各管一边:cargo 管芯,npm 管壳的面板,别装错边;
  • Windows 三件套:MSVC、msvc 工具链的 Rust、WebView2 运行时;
  • macOS 两件事:命令行工具与双 Darwin 编译目标,壳随系统;
  • Linux 装壳:WebKitGTK 4.1 开发包是硬前置,注意版本号;
  • 验收标准:空 Rust 工程能编译运行,三条版本命令有输出。

料备齐了。下一节用脚手架把"随身笔记"工程立起来,跑通热更新与首次构建。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U