43 个版本

0.12.3 2024年5月30日
0.12.2 2023年9月11日
0.12.1 2023年8月28日
0.12.0 2023年5月25日
0.1.0 2015年11月21日

#51Cargo 插件

Download history 2506/week @ 2024-05-04 2771/week @ 2024-05-11 2906/week @ 2024-05-18 4263/week @ 2024-05-25 4694/week @ 2024-06-01 3351/week @ 2024-06-08 3427/week @ 2024-06-15 3595/week @ 2024-06-22 4448/week @ 2024-06-29 4226/week @ 2024-07-06 3599/week @ 2024-07-13 3557/week @ 2024-07-20 4490/week @ 2024-07-27 4138/week @ 2024-08-03 4775/week @ 2024-08-10 3828/week @ 2024-08-17

17,813 每月下载量
11 crate 中使用

Apache-2.0 OR MIT

175KB
4K SLoC

cargo edit

此工具扩展了 Cargo,允许您通过修改 Cargo.toml 文件来从命令行添加、删除和升级依赖项。

当前可用的子命令

Build Status Build Status Build status Coverage Status crates.io Join the chat at https://gitter.im/cargo-edit/Lobby

安装

Packaging status

请确保您已安装了较新的 rust/cargo 版本。在 Ubuntu 上,您还需要安装 libssl-devpkg-config 软件包。

$ cargo install cargo-edit

如果您希望使用捆绑的 openssl 版本

$ cargo install cargo-edit --features vendored-openssl

编译器支持:需要 rustc 1.44+

(请查阅 cargo 的文档 了解如何使用 cargo install 以及如何设置系统以找到 cargo 安装的二进制文件。)

使用 cargo install -f --no-default-features --features "<COMMANDS>" 安装命令子集,其中 <COMMANDS> 是以空格分隔的命令列表;例如,对于完整集合,使用 add rm upgrade

可用子命令

cargoadd

从 v1.62 版本开始,cargo add 已集成到 cargo 中。如果您想访问旧版本的 cargo,则需要安装 v0.9 或更早版本的 cargo-edit

cargo-edit v0.9.1 的已知差异

  • cargo add <path> 不受支持,请使用 cargo add --path <path>
  • cargo add <crate> +<feature> 不受支持,请使用 cargo add <crate> -F <feature>
    • 添加多个 crate 时,需要指定功能,例如 cargo add serde -F serde/derive serde_json
    • rust-lang/cargo#10809

cargorm

从 v1.66 版本开始,cargo rm 已集成到 cargo 中。如果您想访问旧版本的 cargo,则需要安装 v0.11 或更早版本的 cargo-edit

cargo升级

升级 Cargo.toml 中的依赖项到最新版本。

要指定升级到的版本,请使用 <crate 名称>@<版本> 格式提供依赖项,例如 cargo upgrade -p docopt@~0.9.0 -p serde@>=0.9,<2.0

此命令与 cargo update 不同,后者更新本地锁文件(Cargo.lock)中记录的依赖项版本。

示例

# Upgrade all dependencies for the current crate
$ cargo upgrade
# Upgrade docopt (to ~0.9) and serde (to >=0.9,<2.0)
$ cargo upgrade -p docopt@~0.9 -p serde@>=0.9,<2.0
# Upgrade all dependencies except docopt and serde
$ cargo upgrade --exclude docopt --exclude serde

用法

$ cargo-upgrade upgrade --help
Upgrade dependency version requirements in Cargo.toml manifest files

Usage: cargo upgrade [OPTIONS]

Options:
      --dry-run               Print changes to be made without making them
      --manifest-path <PATH>  Path to the manifest to upgrade
      --rust-version <VER>    Override `rust-version`
      --ignore-rust-version   Ignore `rust-version` specification in packages
      --offline               Run without accessing the network
      --locked                Require `Cargo.toml` to be up to date
  -v, --verbose...            Use verbose output
  -Z <FLAG>                   Unstable (nightly-only) flags
  -h, --help                  Print help
  -V, --version               Print version

Version:
      --compatible [<allow|ignore>]    Upgrade to latest compatible version [default: allow]
  -i, --incompatible [<allow|ignore>]  Upgrade to latest incompatible version [default: ignore]
      --pinned [<allow|ignore>]        Upgrade pinned to latest incompatible version [default:
                                       ignore]

Dependencies:
  -p, --package <PKGID[@<VERSION>]>  Crate to be upgraded
      --exclude <PKGID>              Crates to exclude and not upgrade
      --recursive [<true|false>]     Recursively update locked dependencies

cargo设置版本

在您的 Cargo.toml 中设置版本。

示例

# Set the version to the version 1.0.0
$ cargo set-version 1.0.0
# Bump the version to the next major
$ cargo set-version --bump major
# Bump version to the next minor
$ cargo set-version --bump minor
# Bump version to the next patch
$ cargo set-version --bump patch

用法

$ cargo-set-version set-version --help
Change a package's version in the local manifest file (i.e. Cargo.toml)

Usage: cargo set-version [OPTIONS] [TARGET]

Arguments:
  [TARGET]  Version to change manifests to

Options:
      --bump <BUMP>           Increment manifest version
  -m, --metadata <METADATA>   Specify the version metadata field (e.g. a wrapped libraries version)
      --manifest-path <PATH>  Path to the manifest to upgrade
  -p, --package <PKGID>       Package id of the crate to change the version of
      --all                   [deprecated in favor of `--workspace`]
      --workspace             Modify all packages in the workspace
      --dry-run               Print changes to be made without making them
      --exclude <EXCLUDE>     Crates to exclude and not modify
      --offline               Run without accessing the network
      --locked                Require `Cargo.toml` to be up to date
  -Z <FLAG>                   Unstable (nightly-only) flags
  -h, --help                  Print help
  -V, --version               Print version

有关 metadata 的更多信息,请参阅 semver crate 的文档

贡献

感谢您的兴趣——我们热情欢迎贡献。

问题可以在 问题 页面提出,或在 Gitter 上进行讨论。

为了帮助我们快速、顺畅地合并拉取请求,请在提交大改动前先打开一个问题。请保持拉取请求和提交的内容简洁。提交信息应包含提交的目的。

cargo-edit 拥有一个相当全面的测试套件。增加/改进测试的贡献非常受欢迎。请为每次更改添加测试。

cargo-edit 使用 rustfmt 进行格式化和 clippy 进行代码检查。

许可证

Apache-2.0/MIT

依赖项

约15-27MB
约491K SLoC