다른 Rust 설치 방법

무슨 인스톨러를 써야 합니까?

Rust는 많은 플랫폼에서 동작하며, Rust를 설치하는 방법 또한 많이 있습니다. 만약 Rust를 가장 쉽고 권장되는 방법으로 설치하려면 기본 설치 페이지의 방법을 따라 주세요.

이 페이지에서는 rustup으로 설치하는 방법을 설명하는데, 이 도구는 Rust가 지원하는 모든 플랫폼에서 Rust 툴체인을 일관된 방법으로 다룰 수 있게 해 줍니다. 이 방법대로 설치를 하지 않아야 할 이유로는 뭐가 있을까요?

Rust의 플랫폼 지원은 세 단계로 구성되어 있는데 이는 어떤 설치 방법을 쓸 수 있느냐와 밀접하게 연관되어 있습니다. 일반적으로 Rust 프로젝트는 모든 1단계 및 2단계 플랫폼에서 바이너리 빌드를 제공하며, rustup으로 설치할 수 있습니다. 단 일부 2단계 플랫폼에서는 컴파일러는 제공하지 않으며 표준 라이브러리만 제공하는데, 이 경우 크로스플랫폼 타겟으로만 쓰일 수 있기 때문에 Rust 코드를 실행할 수는 있지만 컴파일러를 실행할 수는 없게 됩니다. 이러한 타겟은 rustup target add 명령으로 설치할 수 있습니다.

rustup을 설치하는 다른 방법

rustup을 설치하는 방법은 플랫폼마다 다릅니다:

rustup-init은 사용자 문답으로 설정할 수도 있으며, 명령줄 인자를 통해 모든 인자를 제어할 수도 있는데 셸 스크립트를 통해서도 전달할 수 있습니다. rustup-init--help를 다음과 같이 전달하면 rustup-init이 받는 인자들을 볼 수 있습니다:

curl https://sh.rustup.rs -sSf | sh -s -- --help

셸 스크립트를 쓰지 않고자 한다면 원하는 플랫폼의 rustup-init을 직접 받을 수 있습니다:

aarch64-unknown-linux-gnu arm-unknown-linux-gnueabi arm-unknown-linux-gnueabihf i686-apple-darwin i686-pc-windows-gnu i686-pc-windows-msvc i686-unknown-linux-gnu mips-unknown-linux-gnu mipsel-unknown-linux-gnu mips64-unknown-linux-gnuabi64 mips64el-unknown-linux-gnuabi64
powerpc-unknown-linux-gnu powerpc64-unknown-linux-gnu powerpc64le-unknown-linux-gnu x86_64-apple-darwin x86_64-pc-windows-gnu x86_64-pc-windows-msvc x86_64-unknown-freebsd x86_64-unknown-linux-gnu x86_64-unknown-netbsd

자기 완결 인스톨러

공식 Rust 자기 완결(스탠드얼론) 인스톨러는 Rust의 한 릴리스를 담고 있으며 오프라인 설치에 적합합니다. 세 가지 형태가 있는데, 타르볼(확장자 .tar.gz)은 아무 유닉스 계열 환경에서나 동작하며, 윈도 인스톨러(.msi)와 맥 인스톨러(.pkg)도 있습니다. 이 인스톨러들은 rustc, cargo, rustdoc, 표준 라이브러리와 표준 문서를 담고 있지만, rustup 같이 크로스플랫폼 타겟을 더 제공하진 않습니다.

이들을 써야 하는 흔한 이유로는:

각 바이너리는 Rust 빌드 설비를 통해, keybase.io에도 있는 Rust 서명 키로, GPG를 통해 서명되어 있습니다. 아래 표에서 .asc 파일들이 서명입니다.

이전 릴리스는 보관소에서 찾을 수 있습니다.

안정 (1.26.0)

aarch64-unknown-linux-gnu .tar.gz .asc
arm-unknown-linux-gnueabi .tar.gz .asc
arm-unknown-linux-gnueabihf .tar.gz .asc
i686-apple-darwin .tar.gz .asc
i686-apple-darwin .pkg .asc
i686-pc-windows-gnu .tar.gz .asc
i686-pc-windows-gnu .msi .asc
i686-pc-windows-msvc .tar.gz .asc
i686-pc-windows-msvc .msi .asc
i686-unknown-linux-gnu .tar.gz .asc
mips-unknown-linux-gnu .tar.gz .asc
mipsel-unknown-linux-gnu .tar.gz .asc
mips64-unknown-linux-gnuabi64 .tar.gz .asc
mips64el-unknown-linux-gnuabi64 .tar.gz .asc
powerpc-unknown-linux-gnu .tar.gz .asc
powerpc64-unknown-linux-gnu .tar.gz .asc
powerpc64le-unknown-linux-gnu .tar.gz .asc
s390x-unknown-linux-gnu .tar.gz .asc
x86_64-apple-darwin .tar.gz .asc
x86_64-apple-darwin .pkg .asc
x86_64-pc-windows-gnu .tar.gz .asc
x86_64-pc-windows-gnu .msi .asc
x86_64-pc-windows-msvc .tar.gz .asc
x86_64-pc-windows-msvc .msi .asc
x86_64-unknown-freebsd .tar.gz .asc
x86_64-unknown-linux-gnu .tar.gz .asc
x86_64-unknown-netbsd .tar.gz .asc

베타 (1.27)

aarch64-unknown-linux-gnu .tar.gz .asc
arm-unknown-linux-gnueabi .tar.gz .asc
arm-unknown-linux-gnueabihf .tar.gz .asc
i686-apple-darwin .tar.gz .asc
i686-apple-darwin .pkg .asc
i686-pc-windows-gnu .tar.gz .asc
i686-pc-windows-gnu .msi .asc
i686-pc-windows-msvc .tar.gz .asc
i686-pc-windows-msvc .msi .asc
i686-unknown-linux-gnu .tar.gz .asc
mips-unknown-linux-gnu .tar.gz .asc
mipsel-unknown-linux-gnu .tar.gz .asc
mips64-unknown-linux-gnuabi64 .tar.gz .asc
powerpc-unknown-linux-gnu .tar.gz .asc
powerpc64-unknown-linux-gnu .tar.gz .asc
powerpc64le-unknown-linux-gnu .tar.gz .asc
s390x-unknown-linux-gnu .tar.gz .asc
x86_64-apple-darwin .tar.gz .asc
x86_64-apple-darwin .pkg .asc
x86_64-pc-windows-gnu .tar.gz .asc
x86_64-pc-windows-gnu .msi .asc
x86_64-pc-windows-msvc .tar.gz .asc
x86_64-pc-windows-msvc .msi .asc
x86_64-unknown-freebsd .tar.gz .asc
x86_64-unknown-linux-gnu .tar.gz .asc
x86_64-unknown-netbsd .tar.gz .asc

나이틀리 (1.28)

aarch64-unknown-linux-gnu .tar.gz .asc
arm-unknown-linux-gnueabi .tar.gz .asc
arm-unknown-linux-gnueabihf .tar.gz .asc
i686-apple-darwin .tar.gz .asc
i686-apple-darwin .pkg .asc
i686-pc-windows-gnu .tar.gz .asc
i686-pc-windows-gnu .msi .asc
i686-pc-windows-msvc .tar.gz .asc
i686-pc-windows-msvc .msi .asc
i686-unknown-linux-gnu .tar.gz .asc
mips-unknown-linux-gnu .tar.gz .asc
mipsel-unknown-linux-gnu .tar.gz .asc
mips64-unknown-linux-gnuabi64 .tar.gz .asc
mips64el-unknown-linux-gnuabi64 .tar.gz .asc
powerpc-unknown-linux-gnu .tar.gz .asc
powerpc64-unknown-linux-gnu .tar.gz .asc
powerpc64le-unknown-linux-gnu .tar.gz .asc
s390x-unknown-linux-gnu .tar.gz .asc
x86_64-apple-darwin .tar.gz .asc
x86_64-apple-darwin .pkg .asc
x86_64-pc-windows-gnu .tar.gz .asc
x86_64-pc-windows-gnu .msi .asc
x86_64-pc-windows-msvc .tar.gz .asc
x86_64-pc-windows-msvc .msi .asc
x86_64-unknown-freebsd .tar.gz .asc
x86_64-unknown-linux-gnu .tar.gz .asc
x86_64-unknown-netbsd .tar.gz .asc

소스 코드

안정 .tar.gz .asc
베타 .tar.gz .asc
나이틀리 .tar.gz .asc