콘텐츠로 이동

Rust 도구와 개발 환경 설정

Rust를 처음 시작하면 낯선 이름이 한꺼번에 쏟아져요. rustup, rustc, cargo, clippy, rustfmt, rust-analyzer. 코드 한 줄 쓰기 전에 도구를 열 개쯤 깔아야 할 것 같은 기분이 들죠. 다행히 설치 프로그램 하나만 실행하면 거의 다 들어오고, 도구마다 맡은 일도 딱 하나씩이에요.

주방에 비유해 볼게요. rustup은 조리 도구를 배달하고 새것으로 바꿔 주는 가게예요. cargo는 모든 일을 지휘하는 셰프고요. clippy는 어깨 너머로 봐 주는 친절한 선생님이고, rustfmt는 조리대를 깔끔하게 정리해 줘요. 이 페이지에서는 도구 하나하나를 설명하고, 운영체제별로 무엇이 필요한지, Rust 개발자가 매일 이 도구들을 어떻게 쓰는지 알려 드릴게요.

아직 Rust를 설치하지 않았다면, 단계별 설치 방법과 첫 프로젝트는 Rust 시작하기에 있어요. cargo의 기본(cargo new, cargo add, Cargo.toml)은 Cargo와 크레이트에서 다뤄요. 이 페이지는 두 내용을 바탕으로 이어 가요.

도구 상자 전체를 표 하나로 정리하면 이래요.

도구 하는 일 rustup에 포함?
rustup Rust를 설치하고, 업데이트하고, 버전을 바꿔 줘요 이게 바로 설치 프로그램이에요
rustc 컴파일러: .rs 파일을 실행할 수 있는 프로그램으로 바꿔요 예
cargo 빌드, 실행, 테스트, 크레이트 추가. 거의 모든 일을 이걸로 해요 예
rustup doc 표준 라이브러리 문서와 Rust Book을 브라우저에서 오프라인으로 열어요 예 (default 프로필)
clippy 린터: 버그나 더 간단하게 쓸 수 있는 코드를 짚어 줘요 예 (default 프로필)
rustfmt 포매터: 코드를 표준 스타일로 다시 써 줘요 예 (default 프로필)
rust-analyzer “에디터의 두뇌”: 자동 완성, 실시간 에러 표시, 타입 힌트, 정의로 이동 기본으로는 아니에요. VS Code 확장이 자체 사본을 가져와요
디버거 프로그램을 특정 줄에서 멈추고 변수를 들여다봐요 아니요. LLDB나 GDB를 직접 설치해요 (또는 디버거가 들어 있는 에디터 확장을 써요)

프로필(profile)은 rustup이 한 번에 설치하는 구성 요소의 묶음이에요. 보통 설치하면 default 프로필이 쓰이는데, 컴파일러와 cargo 외에 문서, clippy, rustfmt까지 함께 깔려요. 누군가 minimal 프로필로 컴퓨터를 설정했다면 cargo clippy가 설치되지 않았다고 나올 거예요. 그럴 땐 명령 하나면 돼요: rustup component add clippy rustfmt.

rustup doc --std를 한 번 실행해 보세요. 표준 라이브러리 문서 전체가 내 디스크에서 바로 열리기 때문에, 비행기 안이나 인터넷이 느린 곳에서도 볼 수 있어요. 내 프로젝트와 프로젝트가 쓰는 모든 크레이트의 문서를 보려면 cargo doc --open을 실행하세요(자세한 내용은 Rust 문서화에 있어요).

설치 전에: 운영체제별로 필요한 것

섹션 제목: “설치 전에: 운영체제별로 필요한 것”

Rust는 코드를 컴파일한 뒤 마지막 단계에서 링커(linker)가 필요해요. 링커는 컴파일된 조각들을 실행할 수 있는 파일 하나로 합쳐 주는 프로그램이에요. Rust는 시스템의 C 도구에 들어 있는 링커를 빌려 써요. 그래서 운영체제마다 준비할 것이 조금씩 있어요.

운영체제 설치할 것 방법
Windows (권장) Visual Studio의 C++ 도구: MSVC 링커와 Windows SDK Visual Studio 설치 프로그램에서 C++를 사용한 데스크톱 개발(Desktop development with C++) 워크로드를 선택해요
Windows (대안) GNU 툴체인 (MinGW) rustup toolchain install stable-gnu
Windows (또 다른 방법) WSL: Windows 안에서 돌아가는 진짜 Linux wsl --install을 실행한 뒤 Linux 방법을 따라가요
macOS Apple의 커맨드 라인 도구 (C 컴파일러와 링커 포함) xcode-select --install
Debian / Ubuntu C 컴파일러와 링커 sudo apt install build-essential
Fedora C 컴파일러와 링커 sudo dnf install gcc

솔직하게 몇 가지 덧붙일게요.

  • Windows와 Visual Studio. 직접 찾아서 설치할 필요는 없어요. Visual Studio가 없으면 rustup-init.exe가 대신 설치해 주겠다고 물어봐요. 이때 설치되는 건 Visual Studio Community인데, 개인, 학생, 오픈 소스에는 무료지만 모든 회사에서 무료로 쓸 수 있는 건 아니에요. 회사에서 설치한다면 어떤 에디션을 쓰는지 먼저 물어보세요. “C++를 사용한 데스크톱 개발” 워크로드만 선택하면 Rust에 필요한 건 모두 갖춰져요.
  • Windows와 GNU. 기본값은 MSVC 툴체인이고, 다른 Windows 소프트웨어와도 가장 잘 맞아요. GNU 툴체인은 간단한 프로그램이라면 Visual Studio 없이도 돼요. 하지만 C 코드가 들어 있는 크레이트는 MinGW가 포함된 MSYS2까지 설치해야 빌드되는 경우가 많아요. 대부분은 MSVC를 그대로 쓰는 게 좋아요.
  • WSL은 Windows에서 Linux 환경을 쓰고 싶을 때(예를 들어 서버가 Linux일 때) 아주 좋은 선택이에요. WSL 안에서는 Windows 쪽 설치와 별개로, 일반 Linux 명령으로 Rust를 설치해요.
  • Linux 추가 패키지. 인기 있는 크레이트 중에는 시스템 라이브러리를 쓰는 것도 있어요. 빌드할 때 pkg-config나 OpenSSL 관련 에러가 나면, Ubuntu에서는 pkg-config와 libssl-dev도 설치하세요.

이 준비가 끝나면 Rust 시작하기의 설치 단계를 따라가면 돼요.

Rust를 설치한 다음부터는 rustup으로 관리해요. 새 stable 버전이 6주마다 나오기 때문에, 업데이트는 자연스러운 습관이에요.

Terminal window
rustup update # 설치된 모든 툴체인(과 rustup 자신)을 업데이트
rustup show # 무엇이 설치되어 있고, 여기서 어떤 툴체인이 활성화되어 있는지

rustup show를 실행하면 이런 내용이 나와요(일부 생략).

Default host: x86_64-unknown-linux-gnu
installed toolchains
--------------------
stable-x86_64-unknown-linux-gnu (active, default)
active toolchain
----------------
name: stable-x86_64-unknown-linux-gnu
active because: it's the default toolchain

툴체인(toolchain)은 rustc, cargo와 관련 도구를 한 벌로 묶은 거예요. Rust에는 릴리스 채널이 세 가지 있어요.

채널 무엇인가요 언제 쓰나요
stable 6주마다 나오는 공식 릴리스 거의 항상. 여러분에게 필요한 건 이거예요
beta 테스트 중인 다음 stable 릴리스 다음 릴리스 전에 내 프로젝트가 잘 되는지 확인하고 싶을 때
nightly 매일 밤 빌드되며, 실험적인 기능이 들어 있어요 어떤 도구나 크레이트가 요구할 때, 또는 새 기능을 써 보고 싶을 때

툴체인 여러 개를 나란히 설치해 둘 수 있어요.

Terminal window
rustup toolchain install nightly # stable 옆에 nightly 설치
cargo +nightly build # 이 명령 하나만 nightly로 실행
rustup default stable # 어디서나 쓸 기본 툴체인 선택

프로젝트에 특정 Rust 버전이 필요할 때가 있어요. 프로젝트 폴더에 rust-toolchain.toml 파일을 두면, 그 폴더에서 작업할 때마다 rustup이 자동으로 툴체인을 바꿔 줘요.

[toolchain]
channel = "1.97.0"
components = ["clippy", "rustfmt"]
targets = ["wasm32-unknown-unknown"]

이 파일을 git에 커밋하세요. 그러면 팀원 모두(그리고 CI도) 똑같은 컴파일러를 쓰게 되고, 없으면 rustup이 알아서 설치해 줘요. 작은 프로젝트는 대부분 이 파일 없이 최신 stable을 그냥 써요.

구성 요소(component)는 툴체인에 추가하는 부품이에요. 타깃(target)을 추가하면 다른 종류의 기계용으로 컴파일할 수 있어요.

Terminal window
rustup component add clippy rustfmt rust-src # rust-src: rust-analyzer가 쓰는 std 소스 코드
rustup component list --installed # 설치된 것 확인
rustup target add wasm32-unknown-unknown # 브라우저용으로 Rust 컴파일

WebAssembly를 하려면 wasm32-unknown-unknown 타깃이 필요해요.

Rust는 어떤 텍스트 에디터로도 쓸 수 있지만, rust-analyzer(또는 비슷한 엔진)가 있는 에디터를 쓰면 차이가 엄청나요. 타이핑하는 동안 에러가 보이고, 변수 옆에 타입이 표시되고, 어떤 함수든 정의로 바로 이동할 수 있어요. 초보자에게는 참을성 많은 과외 선생님이 옆에 있는 것과 같아요.

에디터 가격 Rust 지원 이런 사람에게 좋아요
VS Code + rust-analyzer 무료 공식 rust-analyzer 확장 대부분의 사람. 가장 인기 있는 선택이고, 대부분의 가이드가 VS Code를 기준으로 해요
RustRover (JetBrains) 비상업적 용도(학습, 취미 프로젝트, 무급 오픈 소스)는 무료. 상업적 작업에는 유료 구독이 필요해요 기본 내장. JetBrains 자체 Rust 엔진과 디버거가 들어 있어요 모든 기능이 갖춰진 IDE를 좋아하는 사람
Zed 무료, 오픈 소스 기본 내장 (rust-analyzer를 쓰고, 디버깅은 CodeLLDB) 아주 빠르고 현대적인 에디터를 원하는 사람
Neovim / Helix 무료, 오픈 소스 rust-analyzer로 지원. Helix는 거의 설정 없이 되고, Neovim은 약간의 설정이 필요해요 터미널에서 작업하는 걸 좋아하는 사람
Visual Studio 유료 에디션과 무료 Community 공식 Rust 지원 없음 Rust 작업에는 잘 맞지 않아요. 링커용 C++ Build Tools만 있으면 돼요

RustRover의 라이선스 조건은 바뀔 수 있으니, 회사에서 쓰기 전에 RustRover 페이지에서 최신 규정을 확인하세요.

Neovim, Helix 같은 에디터에서는 rustup component add rust-analyzer로 rust-analyzer 프로그램 자체를 설치하세요.

VS Code를 쓴다면 이 네 가지면 거의 다 해결돼요.

  • rust-analyzer: 꼭 필요한 확장이에요. 자동 완성, 에러, 힌트, 리팩터링을 해 줘요.
  • CodeLLDB: 브레이크포인트를 걸고 코드를 한 줄씩 따라가는 디버거예요. LLDB 사본이 함께 들어 있어요.
  • Even Better TOML: Cargo.toml에 색을 입히고 검사해 줘요.
  • Error Lens (선택): 마우스를 올리지 않아도 에러 메시지를 해당 줄에 바로 보여 줘요. 아주 좋아하는 사람도 있고, 너무 시끄럽다는 사람도 있어요.

VS Code에 rust-analyzer와 CodeLLDB를 설치하면 fn main 위와 모든 테스트 위에 작은 Run | Debug 링크가 생겨요. 줄 번호 왼쪽 끝을 클릭해서 빨간 브레이크포인트 점을 찍고 Debug를 클릭하세요. 프로그램이 브레이크포인트에서 멈추고, 모든 변수를 살펴보면서 코드를 한 줄씩 실행해 볼 수 있어요.

다시 쓸 수 있는 설정이 필요하다면(예를 들어 커맨드 라인 인자를 넘기고 싶을 때) .vscode/launch.json을 만드세요.

{
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug task_queue",
"cargo": {
"args": ["build", "--bin=task_queue"]
},
"args": [],
"cwd": "${workspaceFolder}"
}
]
}

cargo 부분은 CodeLLDB에게 먼저 cargo로 프로그램을 빌드한 다음 디버거에서 실행하라고 알려 줘요. task_queue를 여러분의 패키지 이름으로 바꾸고, 프로그램 인자가 있으면 "args"에 넣으세요. F5를 누르면 시작해요.

항상 본격적인 디버거가 필요한 건 아니에요. dbg! 매크로는 식과 그 값, 그리고 이 매크로를 쓴 파일과 줄 위치를 출력해요. 게다가 값을 그대로 돌려주기 때문에, 코드의 동작을 바꾸지 않고 거의 무엇이든 감쌀 수 있어요.

fn apply_discount(price: u32, percent: u32) -> u32 {
price - price * percent / 100
}
fn main() {
let prices = [120, 45, 80];
let total: u32 = dbg!(prices.iter().sum());
let final_price = dbg!(apply_discount(total, 10));
println!("10% 할인 후 합계: {final_price}");
}

실행 결과:

10% 할인 후 합계: 221
▶ 직접 실행해 보기

dbg!가 출력한 줄은 어디로 갔을까요? dbg!는 println!처럼 stdout(표준 출력)이 아니라 stderr(표준 에러, 에러용 출력 스트림)에 출력해요. 그래서 디버그용 메모와 진짜 출력이 섞이지 않아요. 터미널이나 Playground의 “Standard Error” 영역에서는 이런 줄도 볼 수 있어요.

[src/main.rs:8:22] prices.iter().sum() = 245
[src/main.rs:9:23] apply_discount(total, 10) = 221

다 쓴 dbg!는 지워 주세요. 여러분을 위한 도구이지, 사용자에게 보여 줄 건 아니니까요.

명령 세 개만 있으면 코드를 건강하게 유지할 수 있어요. 빠르니까 자주 실행하세요.

cargo check는 실행할 프로그램을 만들지 않고 컴파일 에러만 찾기 때문에 cargo build보다 훨씬 빨라요. 몇 분마다 실행하는 개발자도 많아요. (에디터의 rust-analyzer는 저장할 때마다 이런 검사를 대신 해 줘요.)

cargo fmt: 스타일 논쟁은 이제 그만

섹션 제목: “cargo fmt: 스타일 논쟁은 이제 그만”

cargo fmt는 프로젝트의 모든 파일을 표준 Rust 스타일로 다시 써 줘요. 이제 팀원 누구도 띄어쓰기나 줄 바꿈을 고민할 필요가 없어요. 이런 코드를:

struct Player{name:String,score:u32}
fn top(players:&[Player])->Option<&Player>{players.iter().max_by_key(|p|p.score)}

이렇게 바꿔 줘요.

struct Player {
name: String,
score: u32,
}
fn top(players: &[Player]) -> Option<&Player> {
players.iter().max_by_key(|p| p.score)
}

대부분의 에디터는 저장할 때마다 자동으로 실행할 수 있어요. VS Code에서는 “Format On Save” 설정을 켜세요.

Clippy는 잘못됐거나, 느리거나, 필요 이상으로 읽기 어려운 코드 패턴을 수백 가지나 알고 있어요. 아래는 문제없이 잘 돌아가는 작은 프로그램이에요.

fn main() {
let tasks: Vec<&str> = vec!["문서 쓰기", "버그 고치기"];
if tasks.len() == 0 {
println!("할 일이 없어요!");
} else {
println!("남은 작업: {}개", tasks.len());
}
}

그런데 cargo clippy는 제안을 하나 해요.

warning: length comparison to zero
--> src/main.rs:4:8
|
4 | if tasks.len() == 0 {
| ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `tasks.is_empty()`
|
= note: `#[warn(clippy::len_zero)]` on by default

경고 메시지는 영어로 나오지만 내용은 간단해요. “길이를 0과 비교하는 대신 tasks.is_empty()를 쓰면 더 분명하다”는 뜻이에요. 모든 경고에는 이름(여기서는 len_zero)이 있어서, Clippy 린트 목록(영어)에서 찾아보면 더 자세한 설명을 읽을 수 있어요. 고친 버전은 이래요.

fn main() {
let tasks: Vec<&str> = vec!["문서 쓰기", "버그 고치기"];
if tasks.is_empty() {
println!("할 일이 없어요!");
} else {
println!("남은 작업: {}개", tasks.len());
}
}

실행 결과:

남은 작업: 2개
▶ 직접 실행해 보기

cargo clippy --fix를 쓰면 많은 제안을 자동으로 적용할 수 있어요. Clippy가 여러분 상황에 항상 맞는 건 아니지만, 맞을 때가 충분히 많아서 경고를 하나하나 읽다 보면 Rust다운 코드를 빠르게 배울 수 있어요.

누구나 새 cargo 하위 명령을 만들 수 있어요. 설치는 cargo install로 하는데, 소스를 내려받아 컴파일한 다음 프로그램을 ~/.cargo/bin(Windows에서는 %USERPROFILE%\.cargo\bin)에 넣어 줘요. 첫날부터 필요한 건 하나도 없지만, 알아 두면 좋아요. 아래 링크는 모두 영어 문서예요.

도구 하는 일 설치 실행
bacon 저장할 때마다 옆 터미널에서 check, clippy, 테스트를 다시 실행해요 cargo install --locked bacon bacon, bacon clippy, bacon test
cargo-watch 저장할 때마다 원하는 cargo 명령을 실행해요. 아직 동작하지만 더는 업데이트되지 않고, 개발자가 bacon을 추천해요 cargo install --locked cargo-watch cargo watch -x check
cargo-nextest 더 빠르고 출력이 보기 좋은 테스트 실행기예요 cargo install --locked cargo-nextest cargo nextest run
cargo-audit Cargo.lock을 알려진 보안 권고와 대조해 검사해요 cargo install cargo-audit cargo audit
cargo-outdated 새 버전이 나온 의존성을 보여 줘요 cargo install --locked cargo-outdated cargo outdated
cargo-edit Cargo.toml의 버전을 올려 주는 cargo upgrade를 추가해요(cargo add는 이미 내장되어 있어요) cargo install cargo-edit cargo upgrade
cargo-expand 매크로와 #[derive]가 어떤 코드로 바뀌는지 보여 줘요 cargo install cargo-expand cargo expand
cargo-binstall 컴파일하는 대신 미리 만들어진 바이너리를 내려받아서, 몇 초 만에 설치가 끝나요 cargo install cargo-binstall cargo binstall bacon

cargo install은 소스에서 컴파일하기 때문에, 큰 도구는 처음 설치할 때 몇 분 걸릴 수 있어요. 정상이에요. 나중에 업데이트하려면 같은 설치 명령을 다시 실행하면 돼요. 설치한 도구 목록은 cargo install --list로 볼 수 있어요. 프로파일러나 벤치마크처럼 속도에 관한 도구는 성능를 참고하세요.

Rust Playground(play.rust-lang.org)는 브라우저에서 Rust를 실행해 줘요. 이 사이트의 “직접 실행해 보기” 버튼을 누르면 모두 여기로 열려요. 간단한 실험을 하거나, 질문할 때 코드 조각을 공유하거나, 아무것도 설치할 수 없는 컴퓨터에서 공부할 때 딱이에요.

Playground로 할 수 있는 것:

  • stable, beta, nightly에서 debug 또는 release 빌드로 코드를 실행해요.
  • crates.io에서 가장 많이 다운로드된 크레이트 100개(그리고 Rust Cookbook이 쓰는 크레이트와 그 의존성)를 쓸 수 있어요. serde, rand, regex, tokio 같은 것들이요.
  • Tools 메뉴에서 rustfmt와 Clippy를 실행해요.
  • 코드를 링크로 공유해요.

할 수 없는 것:

  • 파일을 두 개 이상 쓸 수 없어요. Cargo.toml이 없어서 다른 크레이트나 버전을 고를 수도 없어요.
  • 네트워크에 접속할 수 없어요. 웹 페이지를 내려받는 코드는 실패해요.
  • 내 파일을 다루거나 오래 실행할 수 없어요. 시간과 메모리에 제한이 있어요.
  • 입력을 받는 프로그램은 불편해요. 프로그램이 도는 동안 작은 입력 칸이 생기긴 하지만, 간단한 테스트 이상으로는 쓰기 어색해요. 이 사이트의 예제는 입력을 받지 않아서 클릭 한 번이면 실행돼요.

Playground가 답답해지면 cargo new로 로컬 프로젝트를 만드는 데 1분이면 충분해요.

새 컴퓨터를 세팅하나요? 이 목록을 한 번 쭉 따라가 보세요.

  • 운영체제별 준비물을 설치해요: Visual Studio C++ 도구(Windows), xcode-select --install(macOS), build-essential / gcc(Linux).
  • rustup.rs에서 Rust를 설치한 다음, 새 터미널을 열어요.
  • 확인해요: rustc --version과 cargo --version.
  • 매일 쓰는 도구가 있는지 확인해요: rustup component add clippy rustfmt.
  • rust-analyzer가 되는 에디터를 설치해요. VS Code라면 rust-analyzer와 CodeLLDB 확장을 추가해요.
  • 에디터에서 저장할 때 자동 포맷을 켜요.
  • cargo new hello로 테스트 프로젝트를 만들고, 그 안에서 cargo run, cargo clippy, cargo fmt를 실행해 봐요.
  • 한두 달에 한 번 rustup update를 실행하도록 알림을 맞춰 둬요.
  • 선택: 코딩하면서 바로바로 피드백을 받고 싶다면 cargo install --locked bacon.

내 컴퓨터에서 다음 명령을 하나씩 실행해서, 어느 것도 “not installed”(설치되지 않음)라고 나오지 않는지 확인하세요: rustup show, cargo clippy --version, cargo fmt --version. 그다음 오프라인 표준 라이브러리 문서를 열어서 Vec 페이지를 찾아보세요. 힌트: rustup doc에는 타입의 전체 경로 같은 주제를 넘길 수 있어요.

정답 보기
Terminal window
rustup show
cargo clippy --version
cargo fmt --version
rustup doc std::vec::Vec

--version 명령은 각각 버전 번호를 출력해요. 버전 대신 에러가 나오는 게 있다면 rustup component add clippy나 rustup component add rustfmt로 빠진 부분을 설치하세요. 마지막 명령은 내 디스크에 있는 Vec 페이지를 브라우저로 바로 열어요. rust-docs가 설치되지 않았다고 나오면 먼저 rustup component add rust-docs를 실행하세요.

새 프로젝트를 만들고, Clippy 섹션에 있는 작업 프로그램의 첫 번째 버전을 src/main.rs에 붙여 넣으세요. cargo clippy를 실행해서 경고를 읽은 다음, Clippy가 직접 고치게 해 보세요. 힌트: 제안을 자동으로 적용하는 플래그가 있어요.

정답 보기
Terminal window
cargo new task_queue
cd task_queue
# 프로그램을 src/main.rs에 붙여 넣은 다음:
cargo clippy
cargo clippy --fix --allow-dirty
cargo clippy

첫 번째 cargo clippy는 len_zero 경고를 보여 줘요. cargo clippy --fix는 tasks.len() == 0을 tasks.is_empty()로 고쳐 줘요. --allow-dirty 플래그는 아직 git에 커밋하지 않은 파일도 고칠 수 있게 허락하는 옵션이에요. 마지막 실행에서는 경고가 하나도 나오지 않아요.

  • rustup은 Rust를 설치·업데이트하고 툴체인을 바꿔 줘요. cargo는 빌드, 실행, 테스트, 크레이트 추가를 맡고, 그 밑에서 rustc가 컴파일러로 일해요.
  • 운영체제마다 먼저 링커가 필요해요. Windows는 Visual Studio C++ 도구, macOS는 xcode-select --install, Linux는 build-essential이나 gcc예요.
  • 기본은 stable이에요. 프로젝트에서 버전을 꼭 고정해야 할 때만 rust-toolchain.toml을 쓰고, nightly 명령을 한 번만 쓸 때는 cargo +nightly를 쓰세요.
  • rust-analyzer가 되는 에디터를 쓰세요. 가장 흔한 조합은 VS Code + rust-analyzer + CodeLLDB예요.
  • cargo check는 자주, cargo fmt와 cargo clippy는 커밋할 때마다 실행하세요. 빠르게 값을 볼 땐 dbg!, 까다로운 버그는 디버거로 잡아요.
  • Playground는 실험과 공유에 훌륭하지만, 파일 하나, 네트워크 없음, 인기 크레이트만이라는 한계가 있어요.

이해도 점검

1. stable 옆에 nightly 툴체인을 설치하려면 어떤 도구를 쓰나요?

2. Windows에서 링커를 찾을 수 없다며 빌드가 실패해요. 무엇이 빠졌을 가능성이 가장 클까요?

3. dbg!는 어디에 출력하나요?

4. 다음 중 Rust Playground가 할 수 없는 것은 무엇일까요?

점수: 0 / 4

  • Install Rust — rust-lang.org (영어): 모든 플랫폼용 공식 설치 프로그램과 Windows, PATH, 제거 방법에 관한 안내예요.
  • The rustup book (영어): 툴체인, 채널, 구성 요소, 프로필, rust-toolchain.toml, 크로스 컴파일 타깃을 다뤄요.
  • The Cargo Book (영어): cargo install과 모든 명령의 옵션을 포함해, cargo의 모든 것을 설명해요.
  • rust-analyzer 매뉴얼 (영어): VS Code, Neovim, Helix, Emacs 등에서 rust-analyzer를 설정하는 방법과 모든 설정 항목이에요.
  • Clippy 문서 (영어): Clippy를 실행하고 설정하는 방법, 그리고 전체 린트 목록과 각 린트의 의미로 가는 링크가 있어요.