rustup
is a toolchain multiplexer. It installs and manages many Rust toolchains and presents them all through a single set of tools installed to ~/.cargo/bin
. The rustc
and cargo
executables installed in ~/.cargo/bin
are proxies that delegate to the real toolchain. rustup
then provides mechanisms to easily change the active toolchain by reconfiguring the behavior of the proxies.
So when rustup
is first installed, running rustc
will run the proxy in $HOME/.cargo/bin/rustc
, which in turn will run the stable compiler. If you later change the default toolchain to nightly with rustup default nightly
, then that same proxy will run the nightly
compiler instead.
This is similar to Ruby’s rbenv, Python’s pyenv, or Node’s nvm.
Terminologychannel — Rust is released to three different “channels”: stable, beta, and nightly. See the Channels chapter for more details.
toolchain — A “toolchain” is a complete installation of the Rust compiler (rustc
) and related tools (like cargo
). A toolchain specification includes the release channel or version, and the host platform that the toolchain runs on.
target — rustc
is capable of generating code for many platforms. The “target” specifies the platform that the code will be generated for. By default, cargo
and rustc
use the host toolchain’s platform as the target. To build for a different target, usually the target’s standard library needs to be installed first via the rustup target
command. See the Cross-compilation chapter for more details.
component — Each release of Rust includes several “components”, some of which are required (like rustc
) and some that are optional (like clippy
). See the Components chapter for more detail.
profile — In order to make it easier to work with components, a “profile” defines a grouping of components. See the Profiles chapter for more details.
proxy — A wrapper for a common Rust component (like rustc
), built to forward CLI invocations to the active Rust toolchain. See the Proxies chapter for more details.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4