用途:该技能用于处理 Cargo.lock 文件的更新,并解决 CI/CD 中因 --locked 标志导致的失败问题。当用户提到“cargo test --locked failed”或无法更新锁文件等情况时触发。
主要能力:检查 Cargo.lock 状态、在本地更新锁文件、更新后使用 --locked 进行测试,并给出 CI 失败时的处理方案。
使用方式:检查状态可执行 cd packages/desktop/src-tauri 后运行 cargo check --locked 2>&1 | head -20;本地更新执行 cargo update --workspace;更新后测试执行 cargo test --locked。CI 失败时推荐方案为更新锁文件并提交:cargo update --workspace、git add Cargo.lock、git commit -m "chore: update Cargo.lock"、git push;隔离环境可使用 cargo test --manifest-path packages/desktop/src-tauri/Cargo.toml --offline。
适用场景:Rust/Cargo 项目,尤其是 openwork 仓库中位于 packages/desktop/src-tauri/ 的 Tauri 应用。
限制与注意事项:--locked 会阻止 Cargo.lock 自动更新,利于可复现构建,但依赖变化时会失败;PR 常因依赖更新后未提交锁文件而失败;不带 --workspace 的 cargo update 可能不会更新所有工作区成员。无需额外配置,但假定已安装 Rust/Cargo 且处于 openwork 仓库。建议修改 Cargo.toml 后运行 cargo check 或 cargo build,将 Cargo.lock 变更与依赖更新放在同一提交,并考虑添加 pre-commit 钩子验证锁文件是否最新。