#semver #版本 #包版本 #cargo-manifest #rust-version #semver-shorthand #version-core

version-number

解析两和三个组件的 'major.minor' 和 'major.minor.patch' 版本号

5 个版本 (3 个破坏性更新)

0.4.0 2024年4月26日
0.3.0 2023年4月15日
0.2.2 2022年5月15日
0.2.1 2022年5月15日
0.1.0 2022年5月1日

#736解析器实现

Download history 135/week @ 2024-04-23 10/week @ 2024-04-30 3/week @ 2024-06-11 29/week @ 2024-07-30 69/week @ 2024-08-06

每月下载量 98

MIT/Apache

85KB
1.5K SLoC

version-number

解析 semver 数字及其缩写的 "版本核心"

简介

一个用于解析两和三个组件版本号的crate。三个组件的版本号是 semver 的一个子集,即 semver 版本的 "版本核心"(即不支持预发布版本和/或构建修饰符)。两个组件版本是三个组件版本号的缩写,其中不包括补丁号。

两个和三个组件版本号的示例分别是 1.511.7.0

这种版本类型的一个示例是在 Cargo 清单中的 package.rust-version 字段(crate 作者用它来设置 MSRV)。

我们将一个两组件的 major.minor 版本号,如 1.51,称为 基本版本,将一个三组件的 major.minor.patch 版本号,如 1.7.0,称为 完整版本

添加依赖

要将 version-number 添加到您的 Rust 项目中作为依赖项,您可能需要运行 cargo add version-number

或者,您可以将 version-number crate 手动添加到您的 Cargo 清单(即 Cargo.toml)中作为依赖项

[dependencies]
version-number = "0.3"

用法

use version_number::{BaseVersion, FullVersion, Version};

fn main() {
    let base = Version::parse("1.27").unwrap();
    assert_eq!(base, Version::Base(BaseVersion::new(1, 27)));

    let full = Version::parse("1.27.0").unwrap();
    assert_eq!(full, Version::Full(FullVersion::new(1, 27, 0)));
}

如果您只想解析一个两或三个组件的版本(并拒绝另一个),您也可以这样做

use version_number::{BaseVersion, FullVersion};

fn main() {
    let base = BaseVersion::parse("1.27").unwrap();
    assert_eq!(base, BaseVersion::new(1, 27));

    let full = FullVersion::parse("1.27.0").unwrap();
    assert_eq!(full, FullVersion::new(1, 27, 0));
}

请参阅 文档 以查看所有功能。

许可

许可方式为以下之一

由您选择。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以包含在作品中的任何贡献,将如上双许可,不附加任何额外条款或条件。

依赖项

~300–790KB
~18K SLoC