跳至主要内容

常见问题

如何使用未发布的 Tauri 更改?

要从 GitHub(最新版本)使用 Tauri,你需要更改 Cargo.toml 文件并更新你的 CLI 和 API。

Pulling the Rust crate from source

Append this to your Cargo.toml file:

Cargo.toml
[patch.crates-io]
tauri = { git = "https://github.com/tauri-apps/tauri", branch = "1.x" }
tauri-build = { git = "https://github.com/tauri-apps/tauri", branch = "1.x" }

This will force all your dependencies to use tauri and tauri-build from Git instead of crates.io.

Using the Tauri CLI from source

If you are using the Cargo CLI, you can install it directly from GitHub:

cargo install --git https://github.com/tauri-apps/tauri --branch 1.x tauri-cli

If you are using the @tauri-apps/cli package, you will need to clone the repo and build it:

git clone https://github.com/tauri-apps/tauri
cd tauri
git checkout 1.x
cd tauri/tooling/cli/node
yarn
yarn build

To use it, run directly with node:

node /path/to/tauri/tooling/cli/node/tauri.js dev
node /path/to/tauri/tooling/cli/node/tauri.js build

Alternatively, you can run your app with Cargo directly:

cd src-tauri
cargo run --no-default-features # instead of tauri dev
cargo build # instead of tauri build - won't bundle your app though
Using the Tauri API from source

It is recommended to also use the Tauri API package from source when using the Tauri crate from GitHub (though it might not be needed). To build it from source, run the following script:

git clone https://github.com/tauri-apps/tauri
cd tauri
git checkout 1.x
cd tauri/tooling/api
yarn
yarn build

Now you can link it using yarn:

cd dist
yarn link
cd /path/to/your/project
yarn link @tauri-apps/api

Or you can change your package.json to point to the dist folder directly:

package.json
{
"dependencies": {
"@tauri-apps/api": "/path/to/tauri/tooling/api/dist"
}
}

我应该使用 Node 还是 Cargo?

尽管通过 Cargo 安装 CLI 是首选,但当你安装它时,它必须从头开始编译整个二进制文件。如果你处于 CI 环境或使用非常慢的机器,那么最好选择另一种安装方法。

由于 CLI 是用 Rust 编写的,因此它自然可以通过 crates.io 获得,并可以通过 Cargo 安装。

我们还将 CLI 编译为原生 Node.js 插件,并通过 npm 进行分发。与 Cargo 安装方法相比,这有几个优点

  1. CLI 是预编译的,从而大大缩短了安装时间
  2. 您可以在 package.json 文件中固定特定版本
  3. 如果您围绕 Tauri 开发自定义工具,则可以将 CLI 导入为常规 JavaScript 模块
  4. 您可以使用 JavaScript 管理器安装 CLI

我们建议为您的浏览器列表和构建目标使用 es2021last 3 Chrome versionssafari 13。Tauri 利用操作系统的原生渲染引擎(macOS 上的 WebKit、Windows 上的 WebView2 和 Linux 上的 WebKitGTK)。

Linux 上与 Homebrew 构建冲突

Linux 上的 Homebrew 包含其自己的 pkg-config(用于在系统上查找库的实用程序)。在为 Tauri 安装相同的 pkg-config 包时,这可能会导致冲突(通常通过包管理器(如 apt)安装)。当您尝试构建 Tauri 应用程序时,它将尝试调用 pkg-config,最终会调用 Homebrew 中的 pkg-config。如果未使用 Homebrew 安装 Tauri 的依赖项,则这可能会导致错误。

错误通常包含类似于 error: failed to run custom build command for X - Package Y was not found in the pkg-config search path. 的消息。请注意,如果根本未安装所需的依赖项,您可能会看到类似的错误。

此问题有两个解决方案

  1. 卸载 Homebrew
  2. 在构建 Tauri 应用程序之前,将 PKG_CONFIG_PATH 环境变量设置为指向正确的 pkg-config
    • 示例:export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/share/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig