预先准备
安装
首先您需要安装Rust及其他系统依赖。 请记住,只有在开发 Tauri 应用时才需要此设置。 您程序的用户不需要进行下列操作。
Windows
1. Microsoft Visual Studio C++ 生成工具
您需要安装 Microsoft C++ 生成工具。 最简单的方法是下载 Visual Studio 2022 生成工具。 进行安装选择时,请勾选 "C++ 生成工具" 和 "Windows 10 SDK"。
2. WebView2
在 Windows 10(已应用所有更新的 1803 版及更高版本)和 Windows 11 中,WebView2 运行时作为操作系统的一部分分发。
Tauri 需要 WebView2 才能在 Windows 上呈现网页内容,所以您必须先安装 WebView2。 最简单的方法是从微软网站下载和运行常青版引导程序。
安装脚本会自动为您下载适合您架构的版本。 不过,如果您遇到问题 (特别是 Windows on ARM),您可以自己手动选择正确版本。
3. Rust
最后,请前往 https://www.rust-lang.org/zh-CN/tools/install 来安装 rustup
(Rust 安装程序)。 请注意,为了使更改生效,您必须重新启动终端,在某些情况下需要重新启动 Windows 本身。
或者,您可以在 PowerShell 中使用 winget
命令安装程序:
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 脚本,它只做了该做的事情。 但是,您最好在复制粘贴运行脚本之前,看看其源代码。 这是它的源代码:rustup.sh
此命令将下载以上脚本并开始安装用来安装最新版 Rust 的 rustup
工具。 您可能需要输入密码。 若安装成功,终端将显示以下内容:
Rust is installed now. Great!
请确保重新启动终端以使更改生效。
Linux
1. 系统依赖
您需要安装几个系统依赖,如 C 语言编译器和 webkit2gtk
。 下方是适用于部分热门发行版的安装命令:
- Debian
- Arch
- Fedora
- Gentoo
- openSUSE
- NixOS
- GNU Guix
- Void
sudo apt update
sudo apt install libwebkit2gtk-4.0-dev \
build-essential \
curl \
wget \
libssl-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev
sudo pacman -Syu
sudo pacman -S --needed \
webkit2gtk \
base-devel \
curl \
wget \
openssl \
appmenu-gtk-module \
gtk3 \
libappindicator-gtk3 \
librsvg \
libvips
sudo dnf check-update
sudo dnf install webkit2gtk4.0-devel \
openssl-devel \
curl \
wget \
libappindicator-gtk3 \
librsvg2-devel
sudo dnf group install "C Development Tools and Libraries"
sudo emerge --ask \
net-libs/webkit-gtk:4 \
dev-libs/libappindicator \
net-misc/curl \
net-misc/wget
sudo zypper up
sudo zypper in webkit2gtk3-soup2-devel \
libopenssl-devel \
curl \
wget \
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
'';
};
});
}
要使用 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:lib"
"curl"
"wget"
"pkg-config"
"gsettings-desktop-schemas"))
sudo xbps-install -Syu
sudo xbps-install -S \
webkit2gtk-devel \
curl \
wget \
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 脚本,它只做了该做的事情。 但是,您最好在复制粘贴运行脚本之前,看看其源代码。 这是它的源代码:rustup.sh
此命令将下载以上脚本并开始安装用来安装最新版 Rust 的 rustup
工具。 您可能需要输入密码。 若安装成功,终端将显示以下内容:
Rust is installed now. Great!
请确保重新启动终端以使更改生效。
管理 Rust 安装
你应该保持更新你的 Rust 版本,以便使用最新改进。 若要更新 Rust,请打开终端并运行以下命令:
rustup update
rustup
也可以从您的计算机上完全卸载 Rust:
rustup self uninstall
故障排查
要检查您是否正确安装了 Rust,请打开终端并运行如下命令:
rustc --version
您应该能看到以下列格式呈现的版本号、提交哈希及提交日期:
rustc x.y.z (abcabcabc yyyy-mm-dd)
若您没有看到此信息,则表示您的 Rust 安装可能存在问题。 请参阅 Rust 故障排查一节来了解如何解决此问题。 若您的问题仍然存在,您可以从 Tauri 官方 Discord 及 GitHub 讨论处获得帮助。