如何删除 Cargo.toml 中未使用的依赖项?

问题描述 投票:0回答:2

如何找出 Cargo.toml 中未使用的依赖项?如何自动删除它们?

rust rust-cargo
2个回答
24
投票

一种选择是使用 cargo-udeps

您可以通过命令安装:

cargo install cargo-udeps --locked

然后,在生产目标中查找未使用的依赖项:

cargo +nightly udeps

查找未使用的开发依赖项:

cargo +nightly udeps --all-targets

0
投票

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.

© www.soinside.com 2019 - 2024. All rights reserved.