常见问题

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

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

从源代码中拉取 Rust crate

将其添加到 Cargo.toml 文件中:

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" }
    

这将强制所有依赖项使用 Git 中的 tauritauri-build,而不是 crates.io。

从源代码使用Tauri CLI

如果使用 Cargo CLI,可以直接从 GitHub 安装:


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

如果使用 @tauri-apps/cli 软件包,则需要克隆该 repo 并构建它:


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

要使用它,请直接使用 node 运行:


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

您也可以直接使用 Cargo 运行应用程序:


cd src-tauri
cargo run --no-default-features # instead of tauri dev
cargo build # instead of tauri build - won't bundle your app though

从源代码使用Tauri API

在使用 GitHub 上的 Tauri crate 时,建议同时使用源 Tauri API 包(尽管可能并不需要)。
要从源代码构建,请运行以下脚本:


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

现在,您可以用yarn将其链接起来:


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

或者你也可以更改 package.json,直接指向 dist 文件夹:

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

我们建议在浏览器列表和构建目标中使用 es2021最近 3 个 Chrome 浏览器版本safari 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