7

While executing : cargo +nightly install --git https://github.com/alexcrichton/wasm-gc --force in Ubuntu 18.04, is throwing

error: no such subcommand: +nightly

My system has following nightly version

rustc 1.47.0-nightly

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

Even, above command throws similar error!

Cmd1 : rustup toolchain install nightly

Cmd2 : rustup update

Even after running these commands as suggested over communities, error isn't resolved. I'm new to rust & couldn't link cargo to installed nightly via rustup.

System Details

cargo version : 1.43.0

rustup version : 1.22.1 (b01adbbc3 2020-07-08)

Cmd 3:

which cargo  : /usr/bin/cargo
Genie
  • 117
  • 2
  • 7
  • 1
    Can you post the output of `which cargo`? This looks like you might have either Cargo from your package manager, or a manually installed Cargo taking precedence over the rustup `cargo` alias. – justinas Aug 25 '20 at 09:11
  • I concur with @justinas, the cargo version as of right now is 1.45.1 not 1.43.0. Given you're using ubuntu and it does bundle cargo *but not rustup* this is likely a path conflict, rustup is installing cargo (and the rest) in one location, but you're using the distro's cargo from another. In which case you should remove the distro-provided cargo, or at least fix your PATH such that the rustup-installed one takes precedence. – Masklinn Aug 25 '20 at 09:13

2 Answers2

12

which cargo printing out /usr/bin/cargo indicates that it defaults to Cargo that you installed from your OS's package manager (apt).

Invocations with the toolchain version like cargo +nightly are not a feature of Cargo, but rather Rustup. In fact, Rustup's cargo is a link to rustup that then invokes the "real" cargo stored under .rustup/toolchains.

The easiest way to solve this would be to uninstall the Cargo you obtained from Ubuntu repositories:

$ apt remove cargo

Otherwise, you could try to manipulate your PATH such that /home/<your_username>/.cargo/bin comes before /usr/bin.

justinas
  • 6,287
  • 3
  • 26
  • 36
1

I was on a mac and not using apt so for me I just had to reference the full path for cargo and it worked.

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

Hope that helps somone

Michael Black
  • 133
  • 1
  • 1
  • 6