Cargo.toml
매니페스트와 의존성
Cargo.toml은(는) CoddyKit의 무료 Learn Rust Coding 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Learn Rust Coding 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Learn Rust Coding 강의에는 총 4개의 강의가 포함되어 있습니다.
매니페스트
Cargo.toml은 모든 Rust 프로젝트 루트에 있는 매니페스트 파일입니다. TOML 형식을 사용해 패키지와 의존성을 설명합니다.
[package] 섹션
[package] 테이블에는 크레이트의 메타데이터가 들어 있습니다.
name— 크레이트 이름version— 시맨틱 버전edition— Rust 에디션(예: 2021)
[package]
name = "my_app"
version = "0.1.0"
edition = "2021"의존성 추가하기
외부 크레이트는 [dependencies] 아래에 나열합니다. Cargo가 crates.io에서 다운로드하여 대신 컴파일합니다.
[dependencies]
rand = "0.8"
serde = "1.0"cargo add
파일을 직접 수정하는 대신 cargo add를 사용하면 호환되는 최신 버전의 의존성을 추가할 수 있습니다.
cargo add rand
cargo add serde버전 요구 사항
버전 문자열은 시맨틱 버전 규칙을 따릅니다:
"1.0"은 >=1.0.0 및 <2.0.0을 의미합니다(기본적으로 캐럿 요구 사항)"=1.2.3"은 정확한 버전을 고정합니다"~1.2"는 패치 업데이트만 허용합니다
[dependencies]
regex = "=1.10.2"
log = "~0.4"의존성 사용하기
추가한 뒤에는 use로 항목을 범위에 가져오고 코드에서 호출합니다. 여기서는 실제 프로젝트에서 사용하는 것처럼 rand 크레이트를 사용합니다.
use rand::Rng;
fn main() {
let mut rng = rand::thread_rng();
let n: u8 = rng.gen_range(1..=6);
println!("Rolled a {n}");
}의존성 기능
많은 크레이트는 선택적 기능을 제공합니다. features 키로 기능을 활성화하며, 기본 기능을 먼저 비활성화하는 경우가 많습니다.
[dependencies]
serde = { version = "1.0", features = ["derive"] }개발 의존성
[dev-dependencies]는 테스트, 예제 및 벤치마크를 실행할 때만 컴파일되며 라이브러리와 함께 배포되지 않습니다.
[dev-dependencies]
pretty_assertions = "1.4"경로 및 Git 의존성
의존성은 crates.io 대신 로컬 경로나 git 저장소에서 가져올 수도 있습니다.
[dependencies]
my_lib = { path = "../my_lib" }
some_crate = { git = "https://github.com/user/repo" }의존성 업데이트하기
cargo update는 버전 요구 사항이 허용하는 최신 버전으로 의존성을 업데이트하고 Cargo.lock을 다시 작성합니다.
cargo update선택적 패키지 메타데이터
[package] 테이블에는 게시할 때 crates.io에 표시되는 추가 필드를 넣을 수 있습니다:
authors— 작성자description— 간단한 설명license—MIT와 같은 SPDX 식별자repository— 소스 URL
[package]
name = "my_app"
version = "0.1.0"
edition = "2021"
description = "A small demo crate"
license = "MIT"빠른 확인
테스트를 실행할 때만 필요한 크레이트는 어디에 나열해야 하나요?
복습
매니페스트를 살펴보았습니다:
[package]에는 이름, 버전, 에디션과 같은 메타데이터가 들어 있습니다[dependencies]에는 crates.io, 경로 또는 git에서 가져오는 크레이트를 선언합니다- 버전 문자열은 시맨틱 버전 규칙을 따릅니다
features는 선택적 기능을 활성화합니다[dev-dependencies]는 테스트 전용 의존성입니다
자주 묻는 질문
“Cargo.toml” 강의는 무료인가요?
네 — “Cargo.toml” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Learn Rust Coding 강의 전체를 잠금 해제할 수 있습니다. Learn Rust Coding 강의에는 총 4개의 강의가 포함되어 있습니다.
“Cargo.toml”에서 뭘 배우나요?
매니페스트와 의존성 브라우저에서 직접 실행하는 실습 코드로 Learn Rust Coding을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Learn Rust Coding을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Learn Rust Coding은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“Cargo.toml” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Learn Rust Coding 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Learn Rust Coding 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.