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日 |
#51 在 Cargo 插件 中
17,813 每月下载量
在 11 crate 中使用
175KB
4K SLoC
cargo edit
此工具扩展了 Cargo,允许您通过修改 Cargo.toml
文件来从命令行添加、删除和升级依赖项。
当前可用的子命令
安装
请确保您已安装了较新的 rust/cargo 版本。在 Ubuntu 上,您还需要安装 libssl-dev
和 pkg-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
- 添加多个 crate 时,需要指定功能,例如
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 的文档。
相关 Cargo 命令
贡献
感谢您的兴趣——我们热情欢迎贡献。
问题可以在 问题 页面提出,或在 Gitter 上进行讨论。
为了帮助我们快速、顺畅地合并拉取请求,请在提交大改动前先打开一个问题。请保持拉取请求和提交的内容简洁。提交信息应包含提交的目的。
cargo-edit
拥有一个相当全面的测试套件。增加/改进测试的贡献非常受欢迎。请为每次更改添加测试。
cargo-edit
使用 rustfmt
进行格式化和 clippy
进行代码检查。
许可证
Apache-2.0/MIT
依赖项
约15-27MB
约491K SLoC