先决条件
安装
第一步是安装 Rust 和系统依赖项。请记住,此设置仅用于 *开发 Tauri 应用*。您的最终用户无需执行任何此操作。
Windows 设置
1. Microsoft Visual Studio C++ 构建工具
您需要安装 Microsoft Visual Studio C++ 构建工具。最简单的方法是安装 Visual Studio 2022 构建工具。当系统询问要安装哪些工作负载时,请确保已选中“C++ 构建工具”和 Windows 10 SDK。
2. WebView2
在 Windows 10(1803 及更高版本,并应用所有更新)和 Windows 11 上,WebView2 运行时作为操作系统的一部分分发。
Tauri 严重依赖 WebView2 在 Windows 上呈现 Web 内容,因此您必须安装 WebView2。最简单的方法是从 Microsoft 网站下载并运行 Evergreen Bootstrapper。
引导程序脚本将尝试确定适合您系统的正确架构和版本。但是,如果您遇到问题(尤其是在 ARM 上运行 Windows 时),您可以选择正确的独立安装程序。
3. Rust
最后,访问 https://www.rust-lang.net.cn/tools/install 安装 `rustup`(Rust 安装程序)。请注意,您必须重新启动终端,在某些情况下,还需要重新启动 Windows 本身才能使更改生效。
或者,您可以使用 `winget` 在 PowerShell 中使用以下命令安装 rustup:
winget install --id Rustlang.Rustup
为了完全支持 Tauri 和诸如 trunk
之类的工具,请确保 MSVC Rust 工具链是在安装程序对话框中选择的 `default host triple`。根据您的系统,它应该是 `x86_64-pc-windows-msvc`、`i686-pc-windows-msvc` 或 `aarch64-pc-windows-msvc` 之一。
如果您已经安装了 Rust,则可以通过运行以下命令来确保安装了正确的工具链:
rustup default stable-msvc
macOS 设置
1. CLang 和 macOS 开发依赖项
您需要安装 CLang 和 macOS 开发依赖项。为此,请在您的终端中运行以下命令:
xcode-select --install
2. Rust
要在 macOS 上安装 Rust,请打开终端并输入以下命令:
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
我们已经审核了此 bash 脚本,它按预期执行。但是,在盲目地使用 curl-bash 脚本之前,始终明智地先查看它。以下是该文件作为纯脚本: rustup.sh
该命令下载一个脚本并启动 `rustup` 工具的安装,该工具安装最新稳定版本的 Rust。系统可能会提示您输入密码。如果安装成功,将显示以下行:
Rust is installed now. Great!
请确保重新启动终端以使更改生效。
Linux 设置
1. 系统依赖项
您需要安装一些系统依赖项,例如 C 编译器和 `webkit2gtk`。以下是几个流行发行版的命令:
- Debian
- Arch
- Fedora/RHEL
- Gentoo
- openSUSE
- NixOS
- GNU Guix
- Void
sudo apt update
sudo apt install libwebkit2gtk-4.0-dev \
build-essential \
curl \
wget \
file \
libssl-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev
sudo pacman -Syu
sudo pacman -S --needed \
webkit2gtk \
base-devel \
curl \
wget \
file \
openssl \
appmenu-gtk-module \
gtk3 \
libappindicator-gtk3 \
librsvg \
libvips
sudo dnf check-update
sudo dnf install webkit2gtk4.0-devel \
openssl-devel \
curl \
wget \
file \
libappindicator-gtk3-devel \
librsvg2-devel
sudo dnf group install "C Development Tools and Libraries"
请注意,对于 Fedora 36 及更低版本以及所有 Enterprise Linux 发行版,您需要安装 `webkit2gtk3-devel` 而不是 `webkit2gtk4.0-devel`。对于 Enterprise Linux,您还需要 `“Development Tools”` 而不是 `“C Development Tools and Libraries”`。例如:
sudo dnf check-update
sudo dnf install webkit2gtk3-devel \
openssl-devel \
curl \
wget \
file \
libappindicator-gtk3-devel \
librsvg2-devel
sudo dnf group install "Development Tools"
sudo emerge --ask \
net-libs/webkit-gtk:4 \
dev-libs/libappindicator \
net-misc/curl \
net-misc/wget \
sys-apps/file
注意:建议使用桌面配置文件来设置 webkit-gtk 的适当 USE 标志。
sudo zypper up
sudo zypper in webkit2gtk3-soup2-devel \
libopenssl-devel \
curl \
wget \
file \
libappindicator3-1 \
librsvg-devel
sudo zypper in -t pattern devel_basis
在 NixOS 上工作需要略微不同的设置,因为 Tauri 需要在编译时和运行时动态地找到所需的系统库。为了使它们可用于 Tauri,需要使用正确的路径填充 `LD_LIBRARY_PATH` 环境变量。
使用 Nix Flakes 时,将以下代码复制到存储库中的 `flake.nix`,然后运行 `nix develop` 以激活开发环境。您还可以使用 direnv 的 Flakes 集成在进入项目文件夹时自动启动开发 shell。
{
inputs = {
nixpkgs.url = "nixpkgs";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
libraries = with pkgs;[
webkitgtk
gtk3
cairo
gdk-pixbuf
glib
dbus
openssl_3
librsvg
];
packages = with pkgs; [
curl
wget
pkg-config
dbus
openssl_3
glib
gtk3
libsoup
webkitgtk
librsvg
];
in
{
devShell = pkgs.mkShell {
buildInputs = packages;
shellHook =
''
export LD_LIBRARY_PATH=${pkgs.lib.makeLibraryPath libraries}:$LD_LIBRARY_PATH
export XDG_DATA_DIRS=${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}:${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}:$XDG_DATA_DIRS
'';
};
});
}
如果您不使用 Nix Flakes,可以使用以下 `shell.nix` 脚本配置 Nix Shell。运行 `nix-shell` 以激活开发环境,或使用 direnv 的 Shell 集成在进入项目文件夹时自动启动开发 shell。
let
pkgs = import <nixpkgs> { };
libraries = with pkgs;[
webkitgtk
gtk3
cairo
gdk-pixbuf
glib
dbus
openssl_3
librsvg
];
packages = with pkgs; [
pkg-config
dbus
openssl_3
glib
gtk3
libsoup
webkitgtk
appimagekit
librsvg
];
in
pkgs.mkShell {
buildInputs = packages;
shellHook =
''
export LD_LIBRARY_PATH=${pkgs.lib.makeLibraryPath libraries}:$LD_LIBRARY_PATH
export XDG_DATA_DIRS=${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}:${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}:$XDG_DATA_DIRS
'';
}
要使用 Guix shell 创建 Tauri 开发环境,请将以下代码复制到存储库中的 `manifest.scm`,然后运行 `guix shell` 以激活。您还可以使用 direnv 的 Guix shell 支持在进入项目文件夹时自动启动 Guix shell。
(specifications->manifest
(list "gtk+@3"
"webkitgtk-with-libsoup2"
"libsoup-minimal@2"
"cairo"
"gdk-pixbuf"
"glib"
"dbus"
"openssl@3"
"gcc-toolchain"
"curl"
"wget"
"file"
"pkg-config"
"gsettings-desktop-schemas"))
sudo xbps-install -Syu
sudo xbps-install -S \
webkit2gtk-devel \
curl \
wget \
file \
openssl \
gtk+3-devel \
libappindicator \
librsvg-devel \
gcc \
pkg-config
2. Rust
要在 Linux 上安装 Rust,请打开终端并输入以下命令:
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
我们已经审核了此 bash 脚本,它按预期执行。但是,在盲目地使用 curl-bash 脚本之前,始终明智地先查看它。以下是该文件作为纯脚本: rustup.sh
该命令下载一个脚本并启动 `rustup` 工具的安装,该工具安装最新稳定版本的 Rust。系统可能会提示您输入密码。如果安装成功,将显示以下行:
Rust is installed now. Great!
请确保重新启动终端以使更改生效。
管理 Rust 安装
您应该尽可能保持 Rust 版本最新,以始终受益于最新的改进。要更新 Rust,请打开终端并运行以下命令:
rustup update
`rustup` 也可用于完全从您的机器卸载 Rust:
rustup self uninstall
Rust 故障排除
要检查是否已正确安装 Rust,请打开 shell 并输入以下命令:
rustc --version
您应该看到以下格式的最新稳定版本的版本号、提交哈希和提交日期:
rustc x.y.z (abcabcabc yyyy-mm-dd)
如果您没有看到此信息,则您的 Rust 安装可能已损坏。请查阅 Rust 的故障排除部分,了解如何解决此问题。如果您的问题仍然存在,您可以从官方的 Tauri Discord 和 GitHub Discussions 获取帮助。
Node.js
仅当您打算使用 JavaScript 前端框架时。
访问Node.js官网,下载长期支持 (LTS) 版本并安装。
运行以下命令检查 Node 是否已成功安装:
node -v
# v20.10.0
npm -v
# 10.2.3
为了确保终端识别新的安装,请重新启动终端。某些情况下,可能需要重启电脑。
虽然 npm 是 Node.js 的默认包管理器,但您也可以使用其他包管理器,例如 pnpm 或 yarn。要启用这些管理器,请在终端中运行corepack enable
命令。此步骤是可选的,只有在您更倾向于使用 npm 之外的包管理器时才需要。