- Other Rust Installation Methods
- Other ways to install rustup
- Standalone installers
- Source code
- Saved searches
- Use saved searches to filter your results more quickly
- messense/homebrew-macos-cross-toolchains
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- About
Other Rust Installation Methods
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. rustup downloads components from the internet on demand. If you need to install Rust without access to the internet, rustup is 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 rustup by 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 rustup performs 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. rustup runs 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 .msi installers. In the future rustup will 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 via 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.
Other ways to install rustup
The way to install rustup differs by platform:
- On Unix, run curl —proto ‘=https’ —tlsv1.2 -sSf https://sh.rustup.rs | sh in your shell. This downloads and runs rustup-init.sh , which in turn downloads and runs the correct version of the rustup-init executable for your platform.
- On Windows, download and run rustup-init.exe .
rustup-init can be configured interactively, and all options can additionally be controlled by command-line arguments, which can be passed through the shell script. Pass —help to rustup-init as follows to display the arguments rustup-init accepts:
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:
- aarch64-linux-android
- aarch64-unknown-linux-gnu
- aarch64-unknown-linux-musl
- arm-linux-androideabi
- arm-unknown-linux-gnueabi
- arm-unknown-linux-gnueabihf
- armv7-linux-androideabi
- armv7-unknown-linux-gnueabihf
- i686-apple-darwin
- i686-linux-android
- i686-pc-windows-gnu
- i686-pc-windows-msvc
- i686-unknown-linux-gnu
- mips-unknown-linux-gnu
- mips64-unknown-linux-gnuabi64
- mips64el-unknown-linux-gnuabi64
- mipsel-unknown-linux-gnu
- powerpc-unknown-linux-gnu
- powerpc64-unknown-linux-gnu
- powerpc64le-unknown-linux-gnu
- s390x-unknown-linux-gnu
- x86_64-apple-darwin
- x86_64-linux-android
- x86_64-pc-windows-gnu
- x86_64-pc-windows-msvc
- x86_64-unknown-freebsd
- x86_64-unknown-illumos
- x86_64-unknown-linux-gnu
- x86_64-unknown-linux-musl
- x86_64-unknown-netbsd
Standalone installers
The official Rust standalone installers contain a single release of Rust, and are suitable for offline installation. They come in three forms: tarballs (extension .tar.gz ), that work in any Unix-like environment, Windows installers ( .msi ), and Mac installers ( .pkg ). These installers come with rustc , cargo , rustdoc , the standard library, and the standard documentation, but do not provide access to additional cross-targets like rustup does.
The most common reasons to use these are:
- Offline installation
- Preferring a more platform-integrated, graphical installer on Windows
Each of these binaries is signed with the Rust signing key, which is available on keybase.io, by the Rust build infrastructure, with GPG. In the tables below, the .asc files are the signatures.
platform | stable (1.70.0) | beta | nightly |
---|---|---|---|
aarch64-apple-darwin | pkg pkg.asc | pkg pkg.asc | pkg pkg.asc |
aarch64-pc-windows-msvc | msi msi.asc | msi msi.asc | msi msi.asc |
aarch64-unknown-linux-gnu | tar.gz tar.gz.asc | tar.gz tar.gz.asc | tar.gz tar.gz.asc |
aarch64-unknown-linux-musl | tar.gz tar.gz.asc | tar.gz tar.gz.asc | tar.gz tar.gz.asc |
arm-unknown-linux-gnueabi | tar.gz tar.gz.asc | tar.gz tar.gz.asc | tar.gz tar.gz.asc |
arm-unknown-linux-gnueabihf | tar.gz tar.gz.asc | tar.gz tar.gz.asc | tar.gz tar.gz.asc |
armv7-unknown-linux-gnueabihf | tar.gz tar.gz.asc | tar.gz tar.gz.asc | tar.gz tar.gz.asc |
i686-pc-windows-gnu | msi msi.asc | msi msi.asc | msi msi.asc |
i686-pc-windows-msvc | msi msi.asc | msi msi.asc | msi msi.asc |
i686-unknown-linux-gnu | tar.gz tar.gz.asc | tar.gz tar.gz.asc | tar.gz tar.gz.asc |
loongarch64-unknown-linux-gnu | tar.gz tar.gz.asc | tar.gz tar.gz.asc | |
mips-unknown-linux-gnu | tar.gz tar.gz.asc | ||
mips64-unknown-linux-gnuabi64 | tar.gz tar.gz.asc | ||
mips64el-unknown-linux-gnuabi64 | tar.gz tar.gz.asc | ||
mipsel-unknown-linux-gnu | tar.gz tar.gz.asc | ||
powerpc-unknown-linux-gnu | tar.gz tar.gz.asc | tar.gz tar.gz.asc | tar.gz tar.gz.asc |
powerpc64-unknown-linux-gnu | tar.gz tar.gz.asc | tar.gz tar.gz.asc | tar.gz tar.gz.asc |
powerpc64le-unknown-linux-gnu | tar.gz tar.gz.asc | tar.gz tar.gz.asc | tar.gz tar.gz.asc |
riscv64gc-unknown-linux-gnu | tar.gz tar.gz.asc | tar.gz tar.gz.asc | tar.gz tar.gz.asc |
s390x-unknown-linux-gnu | tar.gz tar.gz.asc | tar.gz tar.gz.asc | tar.gz tar.gz.asc |
x86_64-apple-darwin | pkg pkg.asc | pkg pkg.asc | pkg pkg.asc |
x86_64-pc-windows-gnu | msi msi.asc | msi msi.asc | msi msi.asc |
x86_64-pc-windows-msvc | msi msi.asc | msi msi.asc | msi msi.asc |
x86_64-unknown-freebsd | tar.gz tar.gz.asc | tar.gz tar.gz.asc | tar.gz tar.gz.asc |
x86_64-unknown-illumos | tar.gz tar.gz.asc | tar.gz tar.gz.asc | tar.gz tar.gz.asc |
x86_64-unknown-linux-gnu | tar.gz tar.gz.asc | tar.gz tar.gz.asc | tar.gz tar.gz.asc |
x86_64-unknown-linux-musl | tar.gz tar.gz.asc | tar.gz tar.gz.asc | tar.gz tar.gz.asc |
x86_64-unknown-netbsd | tar.gz tar.gz.asc | tar.gz tar.gz.asc | tar.gz tar.gz.asc |
Source code
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
macOS cross compiler toolchains
messense/homebrew-macos-cross-toolchains
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
🚀 Help me to become a full-time open-source developer by sponsoring me on GitHub
macOS cross compiler toolchains, supports both Apple Silicon & Intel Macs.
Download precompiled toolchains from GitHub Release
Or install using Homebrew:
brew tap messense/macos-cross-toolchains # install x86_64-unknown-linux-gnu toolchain brew install x86_64-unknown-linux-gnu # install aarch64-unknown-linux-gnu toolchain brew install aarch64-unknown-linux-gnu
Suppose you have installed x86_64-unknown-linux-gnu toolchain and have it on PATH , setup the environment variables as below to use it with Cargo.
export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER=x86_64-linux-gnu-gcc
Usually only CARGO_TARGET_*_LINKER is required, in case it somehow fails to compile, you can also set some extra environment variables:
export CC_x86_64_unknown_linux_gnu=x86_64-linux-gnu-gcc export CXX_x86_64_unknown_linux_gnu=x86_64-linux-gnu-g++ export AR_x86_64_unknown_linux_gnu=x86_64-linux-gnu-ar
About
macOS cross compiler toolchains