6

我正在尝试运行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 版本。

我究竟做错了什么?

4

2 回答 2

12

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

Rust 的 nightly 频道是稳定版 Rust 的超集。尚未完成或根本没有证明其价值的功能包含在 Rust 的夜间构建中。您可以通过crate 属性选择使用给定功能。

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

如果有帮助,您可以将夜间版本视为“替代现实”的发展轨迹。nightly 的版本号只是它们及时存在的一个松散指标;编译日期和 git commit hash 信息量更大。

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

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

也可以看看:

于 2019-03-19T01:52:26.447 回答
2

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

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

rustup override set nightly

入门指南

于 2021-02-06T16:40:57.563 回答