Rust · workspace

Workspace 의존성 해석과 단일 Cargo.lock

워크스페이스는 버전 잠금 파일을 공유하지만, 각 패키지는 자신이 쓰는 의존성을 Cargo.toml에 명시해야 합니다.

워크스페이스 의존성 구조

cargo

workspace root

members와 공통 설정의 기준점입니다.

member crate

각 패키지는 자기 Cargo.toml을 가집니다.

dependency entry

사용하는 외부 크레이트를 패키지별로 선언합니다.

Cargo.lock

해결된 버전을 작업공간 단위로 하나만 기록합니다.

cargo build

멤버별 선언을 보고 필요한 의존성을 연결합니다.

workspace member Cargo.toml dependency Cargo.lock build

정리

단일 Cargo.lock은 버전을 같이 잠그는 장치이고, 의존성 사용 권한은 여전히 각 패키지의 Cargo.toml 선언이 결정합니다.