cargo +nightly error : no such subcommand

cargo +nightly error : no such subcommand

在 Ubuntu 18.04 中执行:cargo +nightly install --git https://github.com/alexcrichton/wasm-gc --force 时,正在抛出

error: no such subcommand: +nightly

我的系统有以下 nightly 版本

rustc 1.47.0-nightly

 cargo 1.47.0-nightly install --git https://github.com/alexcrichton/wasm-gc --force

甚至,上面的命令也会抛出类似的错误!

命令 1 : rustup toolchain install nightly

命令 2:rustup update

即使在 运行 这些社区建议的命令之后,错误仍未解决。我是 rust 的新手,无法 link cargo 通过 rustup 每晚安装。

系统详细信息

货物版本:1.43.0

rustup 版本:1.22.1 (b01adbbc3 2020-07-08)

命令 3:

which cargo  : /usr/bin/cargo

which cargo 打印出 /usr/bin/cargo 表示它默认为您从 OS 的包管理器 (apt) 安装的 Cargo。

cargo +nightly 这样的工具链版本的调用不是 Cargo 的特性,而是 Rustup 的特性。事实上,Rustup 的 cargo 是一个 link 到 rustup,然后调用存储在 .rustup/toolchains.

下的“真实”货物

解决此问题的最简单方法是卸载您从 Ubuntu 存储库获得的 Cargo:

$ apt remove cargo

否则,您可以尝试操纵 PATH,使 /home/<your_username>/.cargo/bin 出现在 /usr/bin 之前。

我在 mac 上并且没有使用 apt 所以对我来说我只需要参考货物的完整路径就可以了。

$HOME/.cargo/bin/cargo +nightly --git https://github.com/alexcrichton/wasm-gc

希望对大家有所帮助