#未使用 #cargo #项目 #技巧 #检测 #查找 #管理

app cargo-machete

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

11 个不稳定版本

0.6.2 2024年3月24日
0.6.0 2023年10月10日
0.5.0 2022年11月15日
0.3.1 2022年6月12日
0.1.0 2021年11月13日

#19 in Cargo 插件

Download history 4669/week @ 2024-04-23 4645/week @ 2024-04-30 5146/week @ 2024-05-07 4934/week @ 2024-05-14 5426/week @ 2024-05-21 5976/week @ 2024-05-28 5968/week @ 2024-06-04 6074/week @ 2024-06-11 7013/week @ 2024-06-18 7043/week @ 2024-06-25 6617/week @ 2024-07-02 9705/week @ 2024-07-09 8828/week @ 2024-07-16 9775/week @ 2024-07-23 11267/week @ 2024-07-30 9639/week @ 2024-08-06

41,142 每月下载量

MIT 许可证

40KB
841

cargo-machete

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

build status matrix chat supported rustc stable

感谢 Diego F. Goberna 设计了可爱的标志 🥰

简介

cargo-machete 是一个 Cargo 工具,可以快速(但不够精确)地检测 Rust 项目的未使用依赖。

有关详细信息,请参阅 博客文章

安装

使用 cargo 安装 cargo-machete

cargoinstall cargo-machete

用法

在包含一个或多个 Rust 项目的目录中运行 cargo-machete(使用 Cargo 进行依赖管理)

cd my-directory && cargo machete

# alternatively

cargo machete /absolute/path/to/my/directory

返回码 表示是否找到了未使用的依赖项

  • 0 表示 machete 没有找到未使用的依赖项,
  • 1 表示它找到了至少一个未使用的依赖项,
  • 2 表示处理过程中出现错误(在这种情况下,无法确定是否找到了未使用的依赖项)。

这可以用于 CI 环境中。

误报

要在包中忽略一组特定的依赖项,请将 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 CLI 标志,该标志将调用 cargo metadata --all-features 以查找最终依赖项名称、更精确的依赖项按构建类型等。 ⚠ 这可能会修改项目中 Cargo.lock 文件。

Cargo Machete Action

为 cargo machete 提供的 GitHub 动作。

示例用法

以下步骤可以添加到任何工作流中

      - uses: bnjbvr/cargo-machete@main

可以添加到任何工作流中。

以下是一个示例工作流

name: Cargo Machete
on:
  pull_request: { branches: "*" }

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Machete
        uses: bnjbvr/cargo-machete@main

贡献

Contributor Covenant

我们欢迎社区为此项目做出贡献。

许可证

MIT 许可证.

依赖

~11-21MB
~348K SLoC