[Rust 공식문서 한국어 정리] 85. Rust Cargo 가이드
[Rust 공식문서 한국어 정리] 85. Rust Cargo 가이드
원문 제목: The Cargo Book
작성자: The Rust Project
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📌 1. 서론 — 이 문서가 다루는 내용
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Rust 생태계의 핵심 도구인 Cargo를 전반적으로 소개합니다.
의존성 관리, 빌드, 테스트, 배포까지 Rust 프로젝트의 전 주기를 다룹니다.
명령줄 인터페이스와 설정 파일의 기본 구조를 학습합니다.
라이브러리와 바이너리 프로젝트 생성 방법을 이해합니다.
Cargo를 효율적으로 사용하는 모범 사례를 정리합니다.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔑 2. 핵심 개념 4가지
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
① Cargo.toml — 프로젝트 메타데이터와 의존성 선언
② crates.io — Rust 공식 패키지 레지스트리
③ Workspace — 다중 패키지 프로젝트 관리
④ SemVer — 의존성 버전 관리 규칙
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📖 3. 주요 내용 상세
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Cargo는 Rust의 공식 빌드 시스템이자 패키지 매니저입니다.
cargo new 명령으로 새 프로젝트를 생성할 수 있으며 기본 디렉터리 구조를 제공합니다.
Cargo.toml 파일에 의존성을 기술하면 자동으로 crates.io에서 다운로드합니다.
의존성 버전은 SemVer 형식으로 지정하며 호환성 범위를 제어할 수 있습니다.
cargo build 명령은 디버그 빌드를 수행하고 target/debug에 결과물을 생성합니다.
cargo run은 빌드와 실행을 한 번에 수행하여 개발 편의성을 높입니다.
cargo test는 프로젝트의 단위 테스트와 통합 테스트를 실행합니다.
cargo check는 빌드보다 빠르게 컴파일 오류만 검사합니다.
cargo doc은 프로젝트의 문서를 생성하며 --open 옵션으로 브라우저에서 확인할 수 있습니다.
cargo publish는 작성한 크레이트를 crates.io에 배포합니다.
Workspace 기능을 사용하면 여러 관련 패키지를 하나의 저장소에서 관리할 수 있습니다.
의존성 캐싱과 증분 컴파일로 반복 빌드 속도를 크게 향상시킵니다.
빌드 스크립트(build.rs)를 활용하면 C 라이브러리 연동 등 커스텀 빌드가 가능합니다.
Cargo의 환경 변수는 빌드 타임에 메타데이터를 전달하는 데 사용됩니다.
플러그인과 서브커맨드를 통해 기능을 확장할 수 있습니다.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🛠 4. 실전 활용
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
새 라이브러리 프로젝트를 cargo new --lib mylib로 시작합니다.
필요한 외부 크레이트는 Cargo.toml [dependencies] 섹션에 추가합니다.
CI 파이프라인에서는 cargo test와 cargo clippy를 함께 실행합니다.
배포 전 cargo publish --dry-run으로 배포 가능성을 미리 검증합니다.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 5. 정리
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Cargo는 Rust 개발의 필수 도구로 빌드와 패키지 관리를 통합합니다.
표준화된 프로젝트 구조와 의존성 해결로 협업 효율이 향상됩니다.
CLI 명령어 하나로 개발 전 주기를 관리할 수 있습니다.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔗 출처 링크
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
원문: https://doc.rust-lang.org/cargo/
Cargo Reference: https://doc.rust-lang.org/cargo/reference/
#Rust #Cargo #패키지매니저 #빌드시스템 #번역

오뉴노노 님의 최근 댓글
ㅋㅋㅋㅋㅋ 2019 01.14 잘 읽었습니다 2018 12.30 포인트가 없어서 아직 시작을 못하고있는데요! 글은 잘 읽었습니다! 포인트 쌓고 도전할거에요 2018 12.30