斯坦福CS140e课程测试脚本报错:仅nightly编译器支持`Z`选项
解决cs140e作业test.sh -v报错:
error: the option Z is only accepted on the nightly compiler 我之前做斯坦福cs140e作业时也碰到过一模一样的问题!这个错误的原因很直接:
你的test.sh脚本里用到了Rust的Z系列编译选项——这类选项是Rust nightly版本独有的实验性特性,但你当前系统默认用的是Rust stable或beta版本,这两个版本完全不支持任何Z开头的编译选项,所以就触发了这个报错。
下面是具体的解决步骤:
- 先安装Rust nightly版本:
在终端运行这条命令:rustup install nightly - 为你的cs140e作业目录指定默认使用nightly版本(推荐长期方案):
切换到作业项目的根目录,执行:
这样以后在这个目录下运行任何Rust相关命令(包括rustup override set nightly./test.sh)都会自动调用nightly版本,不用每次手动指定。 - 如果只是临时想用nightly运行脚本,也可以直接在命令前加版本标识:
RUSTUP_TOOLCHAIN=nightly ./test.sh -v - 最后验证设置是否生效:
运行rustc --version,如果输出里包含nightly字样,就说明配置成功了。
另外提一句,cs140e的多数作业都会依赖Rust nightly的实验性特性,所以给项目目录设置override是最省心的方式,后续作业也不会再碰到这类版本兼容问题啦。
内容的提问来源于stack exchange,提问作者Desert Digital
相关产品推荐
相关产品推荐

