1편에서 러닝 맥락과 로드맵을 확인했다면, 이제는 실제로 컴퓨터에 Rust를 설치해 작동 방식을 눈으로 확인할 차례입니다. 2편에서는 rustup으로 툴체인을 설치하고, cargo 명령으로 프로젝트를 만들고 실행하는 흐름을 다룹니다. Rust는 설치부터 빌드까지 모두 CLI 기반으로 진행되므로, 처음부터 명령어 흐름을 몸에 익히면 이후 장애물을 줄일 수 있습니다.
이번 글에서 새로 나오는 용어
- rustup: Rust 컴파일러와 관련 도구를 설치·업데이트하는 공식 설치 관리자
- toolchain:
stable,beta,nightly처럼 버전 세트를 묶어 부르는 이름으로,rustc,cargo, 표준 라이브러리가 함께 들어 있습니다. - Cargo manifest: 프로젝트 루트의
Cargo.toml파일로, 패키지 이름·버전·의존성을 정의하는 설정 파일
핵심 개념
- Rust 설치는
rustup스크립트 하나로 진행되며, 기본적으로stabletoolchain과cargo,rustc가 함께 준비됩니다. - 프로젝트 생성부터 빌드·실행·테스트까지는 모두
cargo명령 하나로 이어지며,cargo new가 프로젝트 스캐폴딩을 만들어 줍니다. Cargo.toml과src/main.rs구조를 이해하면 이후 어떤 예제를 보더라도 어디에 코드를 넣어야 하는지 바로 파악할 수 있습니다.cargo run은 빌드와 실행을 한꺼번에 수행하고,cargo build는 빌드만 수행합니다.cargo check는 실제 실행 파일을 만들지 않고 컴파일 검사를 빠르게 돌립니다.
코드로 따라하기
1. rustup 설치
이 글은 Mac 기준으로 설명하지만, Rust 자체는 Windows와 Linux에서도 거의 같은 흐름으로 설치할 수 있습니다. 다른 운영체제를 쓰는 경우에는 Rust 공식 문서의 설치 안내를 함께 참고하면 됩니다.
Mac에서는 두 가지 설치 경로를 생각할 수 있습니다.
- 공식 설치 스크립트: Rust 공식 문서에서 가장 자주 안내하는 방식
- Homebrew + rustup: Homebrew를 이미 쓰고 있다면 익숙한 방식
핵심은 어느 경로를 택하더라도 최종적으로 rustup이 toolchain을 관리하게 만드는 것입니다. 처음 시작할 때는 brew install rust까지 같이 하지 말고, rustup만 설치해 사용하는 편이 충돌이 적습니다.
공식 스크립트를 쓰고 싶다면 macOS 또는 Linux 터미널에서 아래 명령을 실행합니다. (Windows는 PowerShell에서도 거의 같은 흐름으로 설치할 수 있습니다.)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Homebrew를 선호한다면 아래처럼 설치해도 됩니다.
brew install rustup
rustup default stable
이 방식은 Homebrew로 rustup만 설치하고, 실제 Rust toolchain(rustc, cargo)은 rustup이 내려받아 관리하게 만드는 흐름입니다. brew install rust까지 같이 하면 PATH 충돌이나 관리 주체가 애매해질 수 있으니, 특별한 이유가 없다면 처음에는 피하는 편이 좋습니다.
설치 과정에서 기본 toolchain을 묻는다면 stable을 그대로 선택하면 됩니다. 설치가 끝나면 터미널을 새로 열고 다음 명령으로 버전을 확인합니다.
rustc --version
cargo --version
2. 첫 프로젝트 생성
연습 폴더를 하나 정한 뒤 cargo new hello-rust를 실행합니다.
cargo new hello-rust
cd hello-rust
생성된 구조는 아래처럼 단순합니다.
hello-rust/
├── Cargo.toml
└── src/
└── main.rs
Cargo.toml에는 패키지 이름, 버전, 의존성 같은 프로젝트 메타데이터가 들어 있고, src/main.rs에는 기본 main 함수가 들어 있습니다.
3. 빌드와 실행
프로젝트 루트에서 다음 명령을 순서대로 실행합니다.
cargo build
cargo run
cargo build는target/debug폴더에 실행 파일을 만듭니다.cargo run은 빌드가 필요하면 빌드 후, 바로 실행까지 진행합니다.cargo check는 실행 파일을 만들지 않고 코드가 컴파일 가능한지만 빠르게 확인합니다.
코드를 조금 바꿔 보면서 빌드 과정을 체감해 봅니다.
fn main() {
let name = "Mathbong";
println!("안녕하세요, {}!", name);
}
수정 후 cargo run을 다시 실행하면 변경 사항이 반영된 출력을 바로 확인할 수 있습니다.
4. 빠른 검증: cargo check
문법이나 타입 오류만 확인하고 싶다면 cargo check를 사용합니다. 실행 파일을 만들지 않아 더 빠르게 피드백을 받을 수 있습니다.
cargo check
왜 중요한가
- Rust 학습에서 막히는 첫 지점은 설치와 빌드 체인을 이해하지 못한 상태에서 코드를 붙여넣는 상황입니다. 2편에서 환경을 안정적으로 구성하면 이후 예제를 따라 하는 속도가 크게 빨라집니다.
- Cargo는 Rust 생태계의 표준 빌드 시스템이기 때문에, 명령어 몇 개만 익혀도 패키지 추가, 테스트, 릴리스 빌드까지 같은 흐름에서 처리할 수 있습니다.
cargo check같은 도구는 컴파일 피드백을 빠르게 받도록 도와 주어, ownership이나 타입 오류를 실험할 때 시간을 절약합니다.
CodeSandbox로 이어서 실습하기
아래 샌드박스는 CodeSandbox의 Rust starter입니다. 이번 글의 핵심 코드를 src/main.rs에 옮기고, cargo check와 cargo run 결과를 나란히 보면서 컴파일 메시지와 실행 출력을 비교해 보세요.
💬 댓글
이 글에 대한 의견을 남겨주세요