8个版本
0.9.2 | 2024年7月12日 |
---|---|
0.9.1 | 2024年5月7日 |
0.9.0 | 2024年4月12日 |
0.8.2 | 2024年3月28日 |
0.7.1 | 2023年11月8日 |
#375 在 文件系统
每月 126 次下载
45KB
1K SLoC
cargo-machete-nk
用这个奇怪的小技巧删除未使用的Rust依赖!
简介
这是一个基于cargo-machete
的分支,增加了几个额外的功能,例如--exclude
标志,用于从搜索中排除提供的子目录。cargo-machete
是一个Cargo工具,它可以快速(但不够精确)地检测Rust项目中的未使用依赖。
有关详细信息,请参阅原作者的博客文章:https://blog.benj.me/2022/04/27/cargo-machete/
安装
使用cargo安装cargo-machete-nk
cargoinstall cargo-machete-nk
使用方法
在一个包含一个或多个Rust项目(使用Cargo进行依赖管理)的目录中运行cargo-machete-nk
cd my-directory && cargo machete-nk
# alternatively
cargo machete-nk /absolute/path/to/my/directory
返回码指示是否找到未使用的依赖
- 0 如果machete未找到任何未使用的依赖,
- 1 如果它至少找到一个未使用的依赖,
- 2 如果在处理过程中出现错误(在这种情况下,无法确定是否找到任何未使用的依赖)。
这可以用于CI环境。
误报
要忽略某个crate中的特定一组依赖,请将package.metadata.cargo-machete
添加到Cargo.toml
(或workspace.metadata.cargo-machete
添加到工作空间的Cargo.toml
),并指定一个ignored
数组
例如
[dependencies]
prost = "0.10" # Used in code generated by build.rs output, which cargo-machete cannot check
# in an individual package Cargo.toml
[package.metadata.cargo-machete]
ignored = ["prost"]
# in a workspace Cargo.toml
[workspace.metadata.cargo-machete]
ignored = ["prost"]
如果存在太多的误报,请考虑使用 --with-metadata
命令行标志,这将调用 cargo metadata --all-features
以找到最终的依赖项名称,更准确的按构建类型依赖项等。⚠ 这可能会修改您项目中 Cargo.lock
文件。
许可证
依赖项
约15-26MB
约481K SLoC