先決條件
安裝
第一步是安裝 Rust 和系統相依性。請記住,此設定僅適用於開發 Tauri 應用程式。你的最終使用者不需要執行任何這些動作。
設定 Windows
1. Microsoft Visual Studio C++ Build Tools
您需要安裝 Microsoft Visual Studio C++ build tools。最簡單的方法是安裝 Visual Studio 2022 Build Tools。當詢問要安裝哪些工作負載時,請確保選取「C++ build tools」和 Windows 10 SDK。
2. WebView2
在 Windows 10(版本 1803 及更新版本,已套用所有更新)和 Windows 11 上,WebView2 執行時間會作為作業系統的一部分進行發行。
Tauri 極度依賴 WebView2 在 Windows 上呈現網路內容,因此您必須安裝 WebView2。最簡單的方法是從 Microsoft 網站 下載並執行 Evergreen Bootstrapper。
引導程式腳本將嘗試為您的系統確定正確的架構和版本。不過,如果您遇到問題(特別是在 ARM 上執行 Windows 的情況下),您可以選擇正確的獨立安裝程式。
3. Rust
最後,前往 https://www.rust-lang.org/tools/install 安裝 rustup
(Rust 安裝程式)。請注意,您必須重新啟動您的終端機,在某些情況下,甚至必須重新啟動 Windows 本身,才能讓變更生效。
或者,您可以在 PowerShell 中使用下列指令透過 winget
安裝 rustup
winget install --id Rustlang.Rustup
若要完全支援 Tauri 和 trunk
等工具,請確定在安裝程式對話方塊中已選取 MSVC Rust 工具鏈為 預設主機三元組
。根據您的系統,它應該是 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 Distribution,您需要安裝 webkit2gtk3-devel
,而不是 webkit2gtk4.0-devel
。對於 Enterprise Linux,您還需要 "開發工具"
,而不是 "C 開發工具和函式庫"
。例如
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
];
packages = with pkgs; [
pkg-config
dbus
openssl_3
glib
gtk3
libsoup
webkitgtk
appimagekit
];
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:lib"
"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 討論 中獲得協助。
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 以外的套件管理員時需要執行。