问题
1
2
3
4
5
6
7
|
❯ cargo run
error: failed to run `rustc` to learn about target-specific information
Caused by:
process didn't exit successfully: `rustc - --crate-name ___ --print=file-names -Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=cfg` (exit code: 1)
--- stderr
error: the option `Z` is only accepted on the nightly compiler`
|
最近更新了rust
, 然后运行cargo run
, 莫名其妙的出现了上面的问题。
原因
在 rust 官网的 issue 里找解决方案,都是 open 状态的,没有实际意义。那么就得回到原始方式。
按照提示,说Z
这个参数仅适用于nightly
版本的 rust 编译器,但是我用的是stable
版本的 rust;
1
2
3
4
5
6
7
|
❯ rustup show
Default host: x86_64-apple-darwin
rustup home: /Users/c4/.rustup
stable-x86_64-apple-darwin (default)
rustc 1.44.0 (49cae5576 2020-06-01)
|
版本确定,那么只能将语音归结到命令行某个地方有注入参数。第一个想到的就是环境变量,打开我的~/.zshrc
, 果然在最下面找到了这么一条记录,看到-Z
, 应该就是他了。
1
|
export RUSTFLAGS="-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort"
|
解决方案
删除该行记录,运行程序,成功输出hello world
。
Refs
Disclaimer
本文仅代表个人观点,与 Thoughtworks 公司无任何关系。