12个版本
使用旧Rust 2015
0.9.5 | 2024年7月25日 |
---|---|
0.9.4 | 2021年12月29日 |
0.9.3 | 2021年3月16日 |
0.9.2 | 2020年5月24日 |
0.1.0 | 2017年1月15日 |
#8 in 构建实用工具
10,533,579 每月下载量
用于 45,467 个crate(132个直接使用)
48KB
577 行
version_check
这个轻量级crate用于检查运行或安装的rustc
是否符合某些版本要求。通过调用Rust编译器使用--version
来查询版本。首先通过RUSTC
环境变量确定编译器的路径。如果没有设置,则使用rustc
。如果这失败了,则不进行判断,调用返回None
。
用法
将其添加到您的Cargo.toml
文件中,通常作为构建依赖项
[build-dependencies]
version_check = "0.9"
version_check
与Rust 1.0.0及更高版本兼容且可编译。
示例
如果运行编译器至少是版本1.13.0
,则在build.rs
中设置一个cfg
标志
extern crate version_check as rustc;
if rustc::is_min_version("1.13.0").unwrap_or(false) {
println!("cargo:rustc-cfg=question_mark_operator");
}
检查运行编译器是否发布于2018-12-18
或之后
extern crate version_check as rustc;
match rustc::is_min_date("2018-12-18") {
Some(true) => "Yep! It's recent!",
Some(false) => "No, it's older.",
None => "Couldn't determine the rustc version."
};
检查运行编译器是否支持特性标志
extern crate version_check as rustc;
match rustc::is_feature_flaggable() {
Some(true) => "Yes! It's a dev or nightly release!",
Some(false) => "No, it's stable or beta.",
None => "Couldn't determine the rustc version."
};
查看更多示例和完整文档,请参阅rustdocs。
替代方案
此crate简单且无依赖。如果您需要更多功能,并且不介意在无法获取版本时引发恐慌,或者您不介意添加依赖项,请参阅rustc_version。如果您更愿意使用通过动态调用rustc
和代表代码示例工作的特性检测库,请参阅autocfg。
许可证
version_check
可以根据您的选择,采用以下任一许可证
- Apache许可证2.0版本,请参阅LICENSE-APACHE或http://www.apache.org/licenses/LICENSE-2.0
- MIT许可证,请参阅LICENSE-MIT或http://opensource.org/licenses/MIT