火箭每晚需要最低版本的Rust,但已经安装了更高的稳定版本

时间:2019-03-18 22:19:05

标签: rust rocket

我正在尝试运行Rocket,但我遇到了第一个障碍。尝试cargo run时,出现以下错误:

error: failed to run custom build command for `pear_codegen v0.1.2`
Error: Pear requires a nightly or dev version of Rust.
Installed version is: 1.33.0 (2019-02-28). Minimum required: 1.31.0-nightly (2018-10-05).

我是Rust的新手,但是来自其他语言,这毫无意义。它至少需要1.31.0版,但我已经安装了1.33.0版。

我在做什么错了?

2 个答案:

答案 0 :(得分:10)

如果软件要求每晚构建Rust,则不能替换稳定版本的Rust:需要才能每晚使用。

Rust的夜间通道是稳定Rust的超集。每晚构建的Rust中都包含尚未完成或尚未证明其价值的功能。您可以选择通过crate attribute使用给定功能。

这些不稳定的功能可能随时发生完全变化,甚至被删除。换句话说,不稳定的功能永远不会保证在任何特定的Rust稳定版本中都存在。

如果有帮助,您可以将夜间版本视为开发的“替代现实”轨迹。每晚的版本号只是松散地指示它们在何时存在;编译日期和git commit哈希信息更丰富。

  

我本以为1.31.0以后的夜间代码一旦经过测试就会被推送到稳定的1.31.0+版本中

这是 beta 通道的工作方式-1.x.y-beta中的任何内容都将处于1.x.y-stable中(假设没有重大紧急情况发生)。

另请参阅:

答案 1 :(得分:2)

您没有做错任何事,Rocket 只需要 Nightly 构建,因此它可以访问 Rust 的新功能,这些功能可能尚未稳定。

根据the documentation,您可以选择仅对 Rocket 项目使用 Nightly 构建:

rustup override set nightly

Getting started guide