#unused #cargo #exclude #projects #trick #search #cargo-machete

app cargo-machete-nk

用这个奇怪的小技巧找到未使用的依赖!

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文件系统

Download history 136/week @ 2024-04-09 9/week @ 2024-04-16 134/week @ 2024-05-07 1/week @ 2024-05-14 7/week @ 2024-05-21 1/week @ 2024-07-02 112/week @ 2024-07-09 6/week @ 2024-07-16 7/week @ 2024-07-23

每月 126 次下载

MIT 许可证

45KB
1K SLoC

cargo-machete-nk

用这个奇怪的小技巧删除未使用的Rust依赖!

supported rustc stable

简介

这是一个基于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 文件。

许可证

MIT许可证.

依赖项

约15-26MB
约481K SLoC