#cargo-toml #cargo #unused #package #find #tool #udeps

bin+lib cargo-udeps

在 Cargo.toml 中查找未使用的依赖项

50 个版本

0.1.50 2024 年 7 月 29 日
0.1.48 2024 年 5 月 5 日
0.1.47 2024 年 3 月 10 日
0.1.45 2023 年 12 月 29 日
0.1.5 2019 年 9 月 27 日

#33Cargo 插件

Download history 5253/week @ 2024-05-03 5890/week @ 2024-05-10 4296/week @ 2024-05-17 3736/week @ 2024-05-24 4404/week @ 2024-05-31 4233/week @ 2024-06-07 3807/week @ 2024-06-14 3832/week @ 2024-06-21 4248/week @ 2024-06-28 3515/week @ 2024-07-05 3624/week @ 2024-07-12 3790/week @ 2024-07-19 4770/week @ 2024-07-26 3808/week @ 2024-08-02 3715/week @ 2024-08-09 4116/week @ 2024-08-16

17,267 每月下载量

MIT/Apache

46KB
1K SLoC

cargo-udeps

crates.io dependency status

在 Cargo.toml 中查找未使用的依赖项。

虽然此工具的编译也适用于 Rust 稳定版,但实际运行需要 Rust 夜间构建版。

安装

GitHub 发布

https://github.com/est31/cargo-udeps/releases

cargo install (crates.io)

cargo install cargo-udeps --locked

cargo install (master)

cargo install --git https://github.com/est31/cargo-udeps --locked

专用包

一些包管理器已将 cargo-udeps 打包

  • Nix/Nix OS: cargo-udeps
  • Arch Linux: pacman -S cargo-udeps
  • Homebrew: brew install cargo-udeps

用法

cargo +nightly udeps

它要么打印出包含依赖项的“未使用crate”行,要么打印出一条表示没有未使用crate的消息。

pre-commit

您可以用作 pre-commit 钩子

- repo: https://github.com/est31/cargo-udeps
  rev: v0.1.47
  hooks:
  - id: udeps

忽略某些依赖项

要忽略某些依赖项,请将 package.metadata.cargo-udeps.ignore 添加到 Cargo.toml

[package.metadata.cargo-udeps.ignore]
normal = ["if_chain"]
#development = []
#build = []

[dependencies]
if_chain = "1.0.0" # Used only in doc-tests, which `cargo-udeps` cannot check.

或者,将依赖项添加到工作区 Cargo.toml 中的 workspace.metadata.cargo-udeps.ignore 以忽略工作区中所有包的依赖项。

已知问题

  • 一些未使用的crate可能无法检测到。这包括由std及其依赖项使用的crate,以及已经被研究crate的依赖项使用的crate。

  • 目前crate仅按名称处理。具有相同名称但不同版本的crate将导致问题。

荣誉展柜

这是使用cargo-udeps找到未使用依赖项的情况列表。欢迎您对其进行扩展

贡献

有关详细信息,请参阅CONTRIBUTING.md

许可证

本工具根据MIT许可证和Apache许可证(版本2.0)的条款分发,供您选择。

有关详细信息,请参阅LICENSE

您贡献的许可证

除非您明确说明,否则任何有意提交以包含在本工作中并由您定义的Apache-2.0许可证中的贡献,均应如上所述双重许可,不附加任何额外条款或条件。

依赖项

~85MB
~1.5M SLoC