如何找出 Cargo.toml 中未使用的依赖项?如何自动删除它们?
一种选择是使用 cargo-udeps。
您可以通过命令安装:
cargo install cargo-udeps --locked
然后,在生产目标中查找未使用的依赖项:
cargo +nightly udeps
查找未使用的开发依赖项:
cargo +nightly udeps --all-targets
cargo-udeps
需要夜间编译器,这可能会带来潜在的不稳定或兼容性问题。
我建议使用砍刀。它与稳定的 Rust 编译器配合使用,消除了夜间构建潜在不稳定的风险。它提供了一种快速便捷的方法来识别潜在未使用的依赖项。此外,它还可以配置为忽略特定的依赖关系或提供更详细的信息。
安装砍刀:
cargo install cargo-machete
查找项目中未使用的依赖项:
cargo machete --with-metadata
修复未使用的依赖项:
cargo machete --fix
--with-metadata uses cargo-metadata to figure out the dependencies' names.
May be useful if some dependencies are renamed from their
own Cargo.toml file (e.g. xml-rs which gets renamed xml).
Try it if you get false positives!
--skip-target-dir don't analyze anything contained in any target/ directories
encountered.
--fix rewrite the Cargo.toml files to automatically remove unused
dependencies. Note: all dependencies flagged by
cargo-machete will be removed, including false positives.
--version print version.