Rust runs on many platforms, and there are many ways to install Rust. If you want to install Rust in the most straightforward, recommended way, then follow the instructions on the main installation page.
That page describes installation via
rustup, a tool that manages multiple
Rust toolchains in a consistent way across all platforms Rust supports. Why
might one not want to install using those instructions?
- Offline installation.
rustupdownloads components from the internet on demand. If you need to install Rust without access to the internet,
rustupis not suitable.
- Preference for the system package manager. On Linux in particular, but also on macOS with Homebrew, MacPorts or pkgsrc, and Windows with Chocolatey or Scoop, developers sometimes prefer to install Rust with their platform’s package manager.
- Preference against
curl | sh. On Unix, we usually install
rustupby running a shell script via
curl. Some have concerns about the security of this arrangement and would prefer to download and run the installer themselves.
- Validating signatures. Although
rustupperforms its downloads over HTTPS, the only way to verify the signatures of Rust installers today is to do so manually with the standalone installers.
- GUI installation and integration with “Add/Remove Programs” on Windows.
rustupruns in the console and does not register its installation like typical Windows programs. If you prefer a more typical GUI installation on Windows there are standalone
.msiinstallers. In the future
rustupwill also have a GUI installer on Windows.
Rust’s platform support is defined in three tiers, which correspond closely
with the installation methods available: in general, the Rust project provides
binary builds for all tier 1 and tier 2 platforms, and they are all installable
rustup. Some tier 2 platforms though have only the standard library
available, not the compiler itself; that is, they are cross-compilation targets
only; Rust code can run on those platforms, but they do not run the compiler
itself. Such targets can be installed with the
rustup target add command.
The way to install
rustup differs by platform:
- On Unix, run
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shin your shell. This downloads and runs
rustup-init.sh, which in turn downloads and runs the correct version of the
rustup-initexecutable for your platform.
- On Windows, download and run
rustup-init can be configured interactively, and all options can additionally
be controlled by command-line arguments, which can be passed through the shell
rustup-init as follows to display the arguments
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --help
If you prefer not to use the shell script, you may directly download
rustup-init for the platform of your choice:
The official Rust standalone installers contain a single release of Rust, and
are suitable for offline installation. They come in three forms: tarballs
.tar.gz), that work in any Unix-like environment, Windows
.msi), and Mac installers (
.pkg). These installers come with
rustdoc, the standard library, and the standard
documentation, but do not provide access to additional cross-targets like
The most common reasons to use these are:
- Offline installation
- Preferring a more platform-integrated, graphical installer on Windows