#cargo-toml #toml #update #cargo #dependencies #semver #latest-version

构建 dependency-refresh

该工具旨在更新 Cargo.toml 文件中的 Rust 依赖版本

12 个版本

使用旧的 Rust 2015

0.3.0 2021年9月11日
0.2.0 2021年4月12日
0.1.12 2021年3月26日
0.1.11 2020年9月29日
0.1.5 2019年5月16日

#347 in 构建工具

GPL-3.0-only

26KB
316

dependency-refresh

dependency-refresh 旨在更新 Cargo.toml 文件中的 Rust 依赖版本。

该工具读取给定的 toml 文件,并在 https://crates.io 上检查每个依赖项的最新版本。

默认情况下,dependency-refresh 根据语义版本控制规则(见 https://semver.org/)比较版本,与 Cargo 的方式相同(见 https://doc.rust-lang.net.cn/cargo/reference/specifying-dependencies.html)。因此,如果新的 crates.io 版本是兼容的次要更新,则 dependency-refresh 不会更新本地 Cargo.toml 中的版本。这种行为通常是期望的,因为 Cargo 无论如何都会使用最新兼容的版本。要覆盖此行为,请向 dependency-refresh 传递选项 --exact。这将禁用语义版本控制比较并始终触发本地版本的更新。

我知道我的 Rust 代码还有改进的空间,因此请随时评论或提交小补丁。

使用 SemVer 的示例用法(默认)

$ ./target/debug/dr ./Cargo.toml
Reading file: ./Cargo.toml
        Found: structopt
                Local version:  0.3.0
                Online version: 0.3.21
        Found: toml_edit
                Local version:  0.2.0
                Online version: 0.2.0
        Found: reqwest
                Local version:  0.11.0
                Online version: 0.11.2
        Found: serde_json
                Local version:  1.0.0
                Online version: 1.0.64
        Found: semver
                Local version:  0.10.0
                Online version: 0.11.0
        Updating: semver 0.10.0 => 0.11.0

使用精确匹配的示例用法(无 SemVer)

$ ./target/debug/dr --exact ./Cargo.toml
Reading file: ./Cargo.toml
        Found: structopt
                Local version:  0.3.0
                Online version: 0.3.21
        Found: toml_edit
                Local version:  0.2.0
                Online version: 0.2.0
        Found: reqwest
                Local version:  0.11.0
                Online version: 0.11.2
        Found: serde_json
                Local version:  1.0.0
                Online version: 1.0.64
        Found: semver
                Local version:  0.10.0
                Online version: 0.11.0
        Updating: structopt 0.3.0 => 0.3.21
        Updating: serde_json 1.0.0 => 1.0.64
        Updating: semver 0.10.0 => 0.11.0
        Updating: reqwest 0.11.0 => 0.11.2

安装

Arch linux https://aur.archlinux.org/packages/rust-dependency-refresh/

依赖

~8–20MB
~305K SLoC