The rustfmt Readme says I should run this command:
rustup component add rustfmt --toolchain nightly
But it doesn't work:
D:\projects>rustup component add rustfmt --toolchain nightly
error: toolchain 'nightly-x86_64-pc-windows-msvc' does not contain component 'ru
stfmt' for target 'x86_64-pc-windows-msvc'
info: backtrace:
stack backtrace:
0: 0x7ff7f5d2c773 - <no info>
1: 0x7ff7f5d2bbae - <no info>
2: 0x7ff7f5d2b718 - <no info>
3: 0x7ff7f5d2b4e3 - <no info>
4: 0x7ff7f5977ddd - <no info>
5: 0x7ff7f59765b8 - <no info>
6: 0x7ff7f58f2bef - <no info>
7: 0x7ff7f5905470 - <no info>
8: 0x7ff7f590c2c6 - <no info>
9: 0x7ff7f5d3bee7 - <no info>
10: 0x7ff7f5d5a0a2 - <no info>
11: 0x7ff7f5d34833 - <no info>
12: 0x7ff7f590767a - <no info>
13: 0x7ff7f5db1c64 - <no info>
14: 0x7ffa648613d2 - BaseThreadInitThunk
D:\projects>rustup show
Default host: x86_64-pc-windows-msvc
installed toolchains
--------------------
stable-x86_64-pc-windows-msvc
nightly-2019-09-22-x86_64-pc-windows-msvc
nightly-2019-09-24-x86_64-pc-windows-msvc
nightly-x86_64-pc-windows-msvc (default)
installed targets for active toolchain
--------------------------------------
i686-pc-windows-msvc
wasm32-unknown-unknown
x86_64-pc-windows-msvc
active toolchain
----------------
nightly-x86_64-pc-windows-msvc (default)
rustc 1.40.0-nightly (37538aa13 2019-09-25)
D:\projects>rustup component list
cargo-x86_64-pc-windows-msvc (default)
llvm-tools-preview-x86_64-pc-windows-msvc
miri-preview-x86_64-pc-windows-msvc
rls-preview-x86_64-pc-windows-msvc
rust-analysis-x86_64-pc-windows-msvc (installed)
rust-docs-x86_64-pc-windows-msvc (default)
rust-src (installed)
rust-std-aarch64-apple-ios
rust-std-aarch64-fuchsia
rust-std-aarch64-linux-android
rust-std-aarch64-pc-windows-msvc
rust-std-aarch64-unknown-cloudabi
rust-std-aarch64-unknown-linux-gnu
rust-std-aarch64-unknown-linux-musl
rust-std-aarch64-unknown-redox
rust-std-arm-linux-androideabi
rust-std-arm-unknown-linux-gnueabi
rust-std-arm-unknown-linux-gnueabihf
rust-std-arm-unknown-linux-musleabi
rust-std-arm-unknown-linux-musleabihf
rust-std-armebv7r-none-eabi
rust-std-armebv7r-none-eabihf
rust-std-armv5te-unknown-linux-gnueabi
rust-std-armv5te-unknown-linux-musleabi
rust-std-armv7-apple-ios
rust-std-armv7-linux-androideabi
rust-std-armv7-unknown-linux-gnueabi
rust-std-armv7-unknown-linux-gnueabihf
rust-std-armv7-unknown-linux-musleabi
rust-std-armv7-unknown-linux-musleabihf
rust-std-armv7r-none-eabi
rust-std-armv7r-none-eabihf
rust-std-armv7s-apple-ios
rust-std-asmjs-unknown-emscripten
rust-std-i386-apple-ios
rust-std-i586-pc-windows-msvc
rust-std-i586-unknown-linux-gnu
rust-std-i586-unknown-linux-musl
rust-std-i686-apple-darwin
rust-std-i686-linux-android
rust-std-i686-pc-windows-gnu
rust-std-i686-pc-windows-msvc (installed)
rust-std-i686-unknown-freebsd
rust-std-i686-unknown-linux-gnu
rust-std-i686-unknown-linux-musl
rust-std-mips-unknown-linux-gnu
rust-std-mips-unknown-linux-musl
rust-std-mips64-unknown-linux-gnuabi64
rust-std-mips64el-unknown-linux-gnuabi64
rust-std-mipsel-unknown-linux-gnu
rust-std-mipsel-unknown-linux-musl
rust-std-mipsisa32r6-unknown-linux-gnu
rust-std-mipsisa32r6el-unknown-linux-gnu
rust-std-mipsisa64r6-unknown-linux-gnuabi64
rust-std-mipsisa64r6el-unknown-linux-gnuabi64
rust-std-nvptx64-nvidia-cuda
rust-std-powerpc-unknown-linux-gnu
rust-std-powerpc64-unknown-linux-gnu
rust-std-powerpc64le-unknown-linux-gnu
rust-std-riscv32i-unknown-none-elf
rust-std-riscv32imac-unknown-none-elf
rust-std-riscv32imc-unknown-none-elf
rust-std-riscv64gc-unknown-none-elf
rust-std-riscv64imac-unknown-none-elf
rust-std-s390x-unknown-linux-gnu
rust-std-sparc64-unknown-linux-gnu
rust-std-sparcv9-sun-solaris
rust-std-thumbv6m-none-eabi
rust-std-thumbv7em-none-eabi
rust-std-thumbv7em-none-eabihf
rust-std-thumbv7m-none-eabi
rust-std-thumbv7neon-linux-androideabi
rust-std-thumbv7neon-unknown-linux-gnueabihf
rust-std-thumbv8m.base-none-eabi
rust-std-thumbv8m.main-none-eabi
rust-std-thumbv8m.main-none-eabihf
rust-std-wasm32-unknown-emscripten
rust-std-wasm32-unknown-unknown (installed)
rust-std-wasm32-wasi
rust-std-x86_64-apple-darwin
rust-std-x86_64-apple-ios
rust-std-x86_64-fortanix-unknown-sgx
rust-std-x86_64-fuchsia
rust-std-x86_64-linux-android
rust-std-x86_64-pc-solaris
rust-std-x86_64-pc-windows-gnu
rust-std-x86_64-pc-windows-msvc (default)
rust-std-x86_64-rumprun-netbsd
rust-std-x86_64-sun-solaris
rust-std-x86_64-unknown-cloudabi
rust-std-x86_64-unknown-freebsd
rust-std-x86_64-unknown-linux-gnu
rust-std-x86_64-unknown-linux-gnux32
rust-std-x86_64-unknown-linux-musl
rust-std-x86_64-unknown-netbsd
rust-std-x86_64-unknown-redox
rustc-x86_64-pc-windows-msvc (default)
rustfmt-preview-x86_64-pc-windows-msvc
Why do I only have rustfmt-preview
(and rls-preview
and miri-preview
)?
When I run rustup component list
in my Windows virtual machine (rustc nightly as default), it shows rustfmt
and rls
in the list of components. Didn't both projects leave the preview phase behind?
Btw, I hadn't used this laptop since December, and I had an old nightly from like 2018-11-20 and I just updated my nightly to 2019-09-24 recently.
When I run rustup component add rustfmt-preview
, it seems to install rustfmt:
D:\projects>rustup component add rustfmt-preview
info: downloading component 'rustfmt-preview'
1.8 MiB / 1.8 MiB (100 %) 165.1 KiB/s ETA: 0 s
info: installing component 'rustfmt-preview'
D:\projects>cargo fmt --version
rustfmt 1.4.8-nightly (afb1ee1c 2019-09-08)
And it seems to be the latest version, but how can I install it the right way, under the right name (not preview)? (Same for RLS and miri. Btw, I noticed in my Windows virtual machine that miri doesn't appear in the components at all.)
It seems that even though my nightly got updated, the component names are still the old ones.
Maybe something else (that's more important than names) was also left over from the old nightly?
I want to ensure that all parts of my nightly (and other installed toolchains) are fully updated but without having to reinstall my whole rust installation and all my cargo-installed binaries, redownload & recompile all dependencies / repopulate cargo's registry and having to install VS2019.
(When installing rustup in my Windows virtual machine I noticed it now says I have to install VS2019 but on my real PC I'm still on VS2015 and my folder is still called .multirust
from back in the day when I first installed multirust (in 2015) and I want to keep things working without reinstallation if possible.)