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 日 |
#33 在 Cargo 插件 中
17,267 每月下载量
46KB
1K SLoC
cargo-udeps
在 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找到未使用依赖项的情况列表。欢迎您对其进行扩展
- https://github.com/nushell/nushell/pull/519
- https://github.com/servo/pathfinder/pull/236
- https://github.com/oconnor663/shared_child.rs/commit/5929637f5cf1bebc5d608b4d98fd5c8a10626712
- https://github.com/oconnor663/bao/commit/d216ee7c04e3587925dee68cce0b2a1ba44bc1d2
- https://github.com/dabreegster/abstreet/commit/03b685673bebbc95e2bcbd7c85358547bcffe8c3
- https://github.com/rust-lang/crater/pull/446
- https://github.com/kodegenix/kg-tree/commit/0270ec495887cf0ff7580155db4ff12664614ee8
- https://github.com/opereon/opereon/commit/4d29cf174c0b178c1484f698ceb0e654f95a78d0
- https://github.com/djg/audioipc-2/commit/de0fc58cf1e87079027fce06b50eeffa6ae23d54
- https://github.com/casey/just/pull/587
- https://github.com/Garvys/rustfst/pull/76
- https://github.com/yewstack/yew_router/pull/252
- https://github.com/rust-bitcoin/rust-bitcoincore-rpc/pull/169
- https://github.com/hendrikmaus/helm-templexer/pull/85
- https://github.com/itchysats/itchysats/commit/99076ecb907b3bfc5f31ffcdad9716df1869c8f7
贡献
有关详细信息,请参阅CONTRIBUTING.md。
许可证
本工具根据MIT许可证和Apache许可证(版本2.0)的条款分发,供您选择。
有关详细信息,请参阅LICENSE。
您贡献的许可证
除非您明确说明,否则任何有意提交以包含在本工作中并由您定义的Apache-2.0许可证中的贡献,均应如上所述双重许可,不附加任何额外条款或条件。
依赖项
~85MB
~1.5M SLoC