2.1 KiB
2.1 KiB
Rust 依赖更新
安全地更新 Rust 项目的依赖关系。
使用方法
# 确认依赖状态并请求 Claude
cargo tree
「将 Cargo.toml 的依赖更新到最新版本」
基本示例
# 确认当前依赖
cat Cargo.toml
「分析这个 Rust 项目的依赖并告诉我可更新的 crate」
# 确认可更新列表
cargo update --dry-run
「分析这些 crate 更新的危险度」
与 Claude 配合
# 全面的依赖更新
cat Cargo.toml
「分析 Rust 的依赖并执行以下操作:
1. 调查各 crate 的最新版本
2. 确认是否有破坏性变更
3. 评估危险度 (安全・注意・危险)
4. 提出必要的代码更改
5. 生成更新版 Cargo.toml」
# 安全的分阶段更新
cargo tree
「避免主版本升级,只更新可以安全升级的 crate」
# 特定 crate 的更新影响分析
「告诉我将 tokio 更新到最新版本的影响和必要的更改」
详细示例
# 包含 Release Notes 的详细分析
cat Cargo.toml && cargo tree
「分析依赖,为每个 crate 提供:
1. 当前 → 最新版本
2. 危险度评估 (安全・注意・危险)
3. 主要变更 (来自 CHANGELOG)
4. trait 边界的变更
5. 必要的代码修改
以表格形式展示」
# 异步运行时的迁移分析
cat Cargo.toml src/main.rs
「展示从 async-std 迁移到 tokio,或 tokio 主版本升级所需的所有更改」
危险度标准
安全 (🟢):
- 补丁版本升级 (0.1.2 → 0.1.3)
- 仅修复 bug
- 保证向后兼容
注意 (🟡):
- 次版本升级 (0.1.0 → 0.2.0)
- 新增功能
- 有弃用警告
危险 (🔴):
- 主版本升级 (0.x.y → 1.0.0、1.x.y → 2.0.0)
- 破坏性变更
- API 的删除或更改
- trait 边界的变更
执行更新
# 创建备份
cp Cargo.toml Cargo.toml.backup
cp Cargo.lock Cargo.lock.backup
# 执行更新
cargo update
# 更新后确认
cargo check
cargo test
cargo clippy
注意事项
更新后必须进行功能测试。如果出现问题,使用以下命令恢复:
cp Cargo.toml.backup Cargo.toml
cp Cargo.lock.backup Cargo.lock
cargo build