无法指定“edition2021”以便在 Rust 中使用不稳定的包

Unable to specify `edition2021` in order to use unstable packages in Rust

我想 运行 通过 Cargo 举个例子,但我遇到了一个错误:

error: failed to parse manifest at `/Users/aviralsrivastava/dev/subxt/Cargo.toml`

完整的堆栈跟踪是:

error: failed to parse manifest at `/Users/aviralsrivastava/dev/subxt/Cargo.toml`

Caused by:
  feature `edition2021` is required

  The package requires the Cargo feature called `edition2021`, but that feature is not stabilized in this version of Cargo (1.56.0-nightly (b51439fd8 2021-08-09)).
  Consider adding `cargo-features = ["edition2021"]` to the top of Cargo.toml (above the [package] table) to tell Cargo you are opting in to use this unstable feature.
  See https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#edition-2021 for more information about the status of this feature.

根据建议,我继续修改 Cargo.toml:

  Consider adding `cargo-features = ["edition2021"]` to the top of Cargo.toml (above the [package] table) to tell Cargo you are opting in to use this unstable feature.
diff --git a/Cargo.toml b/Cargo.toml
index 26a02c7..186d09b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
 [workspace]
 members = [".", "cli", "codegen", "macro"]
-
+cargo-features = ["edition2021"]
 [package]
 name = "subxt"
 version = "0.15.0"
(END)

我仍然面临同样的错误,好像 toml 文件中没有任何更改。

如何解决上述错误以便使用不稳定的软件包?

更新 Rust 以满足新版本 2021。

rustup default nightly && rustup update

感谢@ken。 是的,您也可以使用 stable 频道!

但我个人喜欢nightly

尝试:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source $HOME/.cargo/env && rustup default nightly && rustup update

2021 版现在是 stable channel 的一部分。

正如我遇到的情况,您可能只需要 运行 rustup update stable.

更新您的稳定版本

这应该可以解决问题,不需要您切换到夜间频道。