我正在尝试运行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版。
我在做什么错了?
答案 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