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

twi*_*igg 2 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).
Run Code Online (Sandbox Code Playgroud)

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

我究竟做错了什么?

She*_*ter 10

如果软件需要每晚构建Rust,则不能替代稳定版本的Rust:您必须每晚使用。

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

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

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

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

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

也可以看看:

  • 我想知道 *nightly* 是否应该更名为 *experimental* 以使事情更清楚。 (2认同)
  • 您失去了一条手臂:我同意这可能不值得改变。 (2认同)

Ale*_*x W 5

你没有做错任何事,Rocket 只是需要 Nightly 构建,这样它就可以访问 Rust 可能尚未稳定的新功能。

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

rustup override set nightly
Run Code Online (Sandbox Code Playgroud)

入门指南