Rust中指定edition2021使用不稳定包报错该如何解决?
问题根因
cargo-features 配置项必须放在 Cargo.toml 文件的最顶部,不能出现在任何其它配置表(比如[workspace]、[package])的后面。你当前把它放在了[workspace]块下方,Cargo 无法识别到该配置,所以会返回和修改前完全一致的报错。
解决方案
- 调整 Cargo.toml 的配置顺序,把
cargo-features = ["edition2021"]移到整个文件的第一行,修改后的文件开头结构如下:
cargo-features = ["edition2021"] [workspace] members = [".", "cli", "codegen", "macro"] [package] name = "subxt" version = "0.15.0" # 其余原有配置保持不变即可
- 你当前使用的是2021-08-09的nightly版本,属于edition2021特性刚上线测试的早期版本,如果调整位置后依然报错,可以执行命令更新到更新的nightly版本:
rustup update nightly - 如果需要固定当前项目默认使用nightly版本运行,可以在项目根目录执行:
rustup override set nightly
完成上述操作后再执行对应Cargo命令即可正常运行。
内容的提问来源于stack exchange,提问作者Aviral Srivastava
相关产品推荐
相关产品推荐

