I just installed Rust with rustup on MacOS and noticed that there are two rustc
and two cargo
binaries:
~/.cargo/bin/rustc (cargo)
~/.rustup/toolchains/stable-x86_64-apple-darwin/bin/rustc (cargo)
Their versions are exactly the same, but diff
shows there exists some difference. So why are there two different rustc
(cargo
) binaries and which one should I use?
The reason there are two files named rustc
is because rustup is a toolchain multiplexer. It lets you install many versions of Rust and easily switch between them.
The binary installed at ~/.cargo/bin/rustc
proxies to the current toolchain that you have selected. Each installed compiler is kept under the toolchains
directory.
Although the compiler in the toolchains
directory appears to be a smaller file, that's only because it's dynamically linked instead of statically linked.
More information can be found on rustup's README.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With