Sta*_*eur 17
在 Rust 1.56.0 中你可以使用rust-version
:
rust-version 字段是一个可选键,它告诉 Cargo 可以使用哪个版本的 Rust 语言和编译器来编译您的包。如果当前选择的 Rust 编译器版本比指定版本旧,cargo 将退出并显示错误,告诉用户需要什么版本。
[package]
rust-version = "1.56"
Run Code Online (Sandbox Code Playgroud)
你可以使用一个构建脚本这样
extern crate rustc_version;
use std::io::{self, Write};
use std::process::exit;
use rustc_version::version_matches;
fn main() {
if !version_matches(">= 1.1.0") {
writeln!(&mut io::stderr(), "This crate requires rustc >= 1.1.0.").unwrap();
exit(1);
}
}
Run Code Online (Sandbox Code Playgroud)
这使用了rustc_version板条箱.
如果您的项目需要 rustc 最低 1.1.0 版本来编译,您可以简单地在 Cargo.toml 文件所在的目录中创建一个名为rust-toolchain的文件(没有任何文件扩展名),并在其中添加以下内容:
[toolchain]
channel = "1.1.0"
components = ["rust-src"]
Run Code Online (Sandbox Code Playgroud)
然后,当您运行cargo build
它时,它会自动下载并安装该版本并切换到它。有关更多详细信息,请参阅此Rust 博客文章。
这个Rust RFC #2495提出了一种未来的替代方法,我们可以将行添加rust = "1.1.0"
到 Cargo.toml 文件中。