updating-tauri-dependencies

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Updating Tauri Dependencies

更新Tauri依赖

This skill provides guidance for updating Tauri dependencies across both the JavaScript and Rust ecosystems.
本技能为更新JavaScript和Rust生态中的Tauri依赖提供指导。

Version Synchronization (Critical)

版本同步(至关重要)

The JavaScript
@tauri-apps/api
package and Rust
tauri
crate must maintain matching minor versions. Adding new features requires upgrading both sides to ensure compatibility.
For Tauri plugins, maintain exact version parity (e.g., both
2.2.1
) for the npm package and cargo crate.

JavaScript的
@tauri-apps/api
包与Rust的
tauri
crate必须保持次要版本一致。若要添加新功能,需要同时升级两端以确保兼容性。
对于Tauri插件,npm包与cargo crate必须保持完全版本一致(例如,均为
2.2.1
)。

Updating JavaScript Dependencies

更新JavaScript依赖

Using npm

使用npm

Update Tauri CLI and API packages:
bash
npm install @tauri-apps/cli@latest @tauri-apps/api@latest
Check for outdated packages:
bash
npm outdated @tauri-apps/cli
npm outdated @tauri-apps/api
更新Tauri CLI和API包:
bash
npm install @tauri-apps/cli@latest @tauri-apps/api@latest
检查过时包:
bash
npm outdated @tauri-apps/cli
npm outdated @tauri-apps/api

Using yarn

使用yarn

Update Tauri CLI and API packages:
bash
yarn up @tauri-apps/cli @tauri-apps/api
Check for outdated packages:
bash
yarn outdated @tauri-apps/cli
yarn outdated @tauri-apps/api
更新Tauri CLI和API包:
bash
yarn up @tauri-apps/cli @tauri-apps/api
检查过时包:
bash
yarn outdated @tauri-apps/cli
yarn outdated @tauri-apps/api

Using pnpm

使用pnpm

Update Tauri CLI and API packages:
bash
pnpm update @tauri-apps/cli @tauri-apps/api --latest
Check for outdated packages:
bash
pnpm outdated @tauri-apps/cli
pnpm outdated @tauri-apps/api

更新Tauri CLI和API包:
bash
pnpm update @tauri-apps/cli @tauri-apps/api --latest
检查过时包:
bash
pnpm outdated @tauri-apps/cli
pnpm outdated @tauri-apps/api

Updating Rust Dependencies

更新Rust依赖

Manual Update

手动更新

  1. Check the latest versions on crates.io:
  2. Edit
    src-tauri/Cargo.toml
    and update the version numbers:
toml
[build-dependencies]
tauri-build = "2.0"

[dependencies]
tauri = { version = "2.0", features = [] }
  1. Run cargo update from the src-tauri directory:
bash
cd src-tauri && cargo update
  1. 在crates.io上查看最新版本:
  2. 编辑
    src-tauri/Cargo.toml
    并更新版本号:
toml
[build-dependencies]
tauri-build = "2.0"

[dependencies]
tauri = { version = "2.0", features = [] }
  1. 从src-tauri目录运行cargo update:
bash
cd src-tauri && cargo update

Using cargo-edit (Automatic)

使用cargo-edit(自动更新)

Install cargo-edit if not already installed:
bash
cargo install cargo-edit
Upgrade Tauri dependencies automatically:
bash
cd src-tauri && cargo upgrade tauri tauri-build

如果尚未安装cargo-edit,请先安装:
bash
cargo install cargo-edit
自动升级Tauri依赖:
bash
cd src-tauri && cargo upgrade tauri tauri-build

Checking for Updates

检查更新

Check All Tauri Dependencies

检查所有Tauri依赖

JavaScript packages:
bash
undefined
JavaScript包:
bash
undefined

npm

npm

npm outdated | grep tauri
npm outdated | grep tauri

yarn

yarn

yarn outdated | grep tauri
yarn outdated | grep tauri

pnpm

pnpm

pnpm outdated | grep tauri

Rust crates:

```bash
cd src-tauri && cargo outdated | grep tauri
Note:
cargo outdated
requires the cargo-outdated tool:
bash
cargo install cargo-outdated

pnpm outdated | grep tauri

Rust crate:

```bash
cd src-tauri && cargo outdated | grep tauri
注意:
cargo outdated
需要安装cargo-outdated工具:
bash
cargo install cargo-outdated

Updating Tauri Plugins

更新Tauri插件

When updating Tauri plugins, both the npm package and Rust crate must be updated to the same version.
Example for updating a plugin (e.g., shell plugin):
更新Tauri插件时,npm包与Rust crate必须更新至同一版本。
更新插件示例(例如shell插件):

JavaScript side

JavaScript端

bash
undefined
bash
undefined

npm

npm

npm install @tauri-apps/plugin-shell@latest
npm install @tauri-apps/plugin-shell@latest

yarn

yarn

yarn up @tauri-apps/plugin-shell
yarn up @tauri-apps/plugin-shell

pnpm

pnpm

pnpm update @tauri-apps/plugin-shell --latest
undefined
pnpm update @tauri-apps/plugin-shell --latest
undefined

Rust side

Rust端

Edit
src-tauri/Cargo.toml
:
toml
[dependencies]
tauri-plugin-shell = "2.0"
Then update:
bash
cd src-tauri && cargo update

编辑
src-tauri/Cargo.toml
toml
[dependencies]
tauri-plugin-shell = "2.0"
然后执行更新:
bash
cd src-tauri && cargo update

Complete Update Workflow

完整更新流程

To update all Tauri dependencies in a project:
  1. Update JavaScript dependencies:
bash
undefined
要更新项目中所有Tauri依赖:
  1. 更新JavaScript依赖:
bash
undefined

Using npm (adjust for your package manager)

使用npm(根据你的包管理器调整)

npm install @tauri-apps/cli@latest @tauri-apps/api@latest

2. Update any Tauri plugins on the JavaScript side:

```bash
npm install @tauri-apps/plugin-shell@latest @tauri-apps/plugin-fs@latest
npm install @tauri-apps/cli@latest @tauri-apps/api@latest

2. 更新JavaScript端的所有Tauri插件:

```bash
npm install @tauri-apps/plugin-shell@latest @tauri-apps/plugin-fs@latest

Add other plugins as needed

根据需要添加其他插件


3. Update Rust dependencies in `src-tauri/Cargo.toml`

4. Run cargo update:

```bash
cd src-tauri && cargo update
  1. Rebuild the project to verify compatibility:
bash
npm run tauri build

3. 更新`src-tauri/Cargo.toml`中的Rust依赖

4. 运行cargo update:

```bash
cd src-tauri && cargo update
  1. 重新构建项目以验证兼容性:
bash
npm run tauri build

or

cargo tauri build

---
cargo tauri build

---

Troubleshooting

故障排除

Version Mismatch Errors

版本不匹配错误

If you encounter version mismatch errors between JavaScript and Rust dependencies:
  1. Verify both sides use matching minor versions
  2. Check
    package.json
    for
    @tauri-apps/api
    version
  3. Check
    src-tauri/Cargo.toml
    for
    tauri
    crate version
  4. Ensure they align (e.g., both at 2.x)
如果遇到JavaScript与Rust依赖版本不匹配的错误:
  1. 验证两端的次要版本是否一致
  2. 检查
    package.json
    中的
    @tauri-apps/api
    版本
  3. 检查
    src-tauri/Cargo.toml
    中的
    tauri
    crate版本
  4. 确保两者版本对齐(例如,均为2.x版本)

Cargo Lock Conflicts

Cargo Lock冲突

If
Cargo.lock
has conflicts after updating:
bash
cd src-tauri && rm Cargo.lock && cargo update
如果更新后
Cargo.lock
出现冲突:
bash
cd src-tauri && rm Cargo.lock && cargo update

Plugin Version Mismatch

插件版本不匹配

For plugin version mismatches, ensure exact version parity between npm and cargo versions of the same plugin.
对于插件版本不匹配的问题,请确保同一插件的npm包与cargo crate版本完全一致。