Rust 项目依赖一多,经常会出现同一个 crate 被不同版本各带一份。先跑这个比直接翻 Cargo.lock 快:
# Rust 1.44+,在包含 Cargo.toml 的目录执行
cargo tree -d
它只列出重复版本的依赖,并把引入路径展开。想看某个包是谁带进来的,可以再缩小范围:
cargo tree -i [email protected]
-i 需要填当前解析到的精确版本;版本不确定时先用 cargo tree -d 看结果。这个检查不会改 Cargo.toml 或 Cargo.lock,适合排查构建体积和特性不一致的问题。