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 在 解析器实现 中
每月下载量 98
85KB
1.5K SLoC
version-number
解析 semver 数字及其缩写的 "版本核心"
简介
一个用于解析两和三个组件版本号的crate。三个组件的版本号是 semver 的一个子集,即 semver 版本的 "版本核心"(即不支持预发布版本和/或构建修饰符)。两个组件版本是三个组件版本号的缩写,其中不包括补丁号。
两个和三个组件版本号的示例分别是 1.51
和 1.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(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以包含在作品中的任何贡献,将如上双许可,不附加任何额外条款或条件。
依赖项
~300–790KB
~18K SLoC