workspace

워크스페이스 루트는 멤버, 잠금 파일, 빌드 산출물을 모은다

패키지는 나뉘어도 루트 Cargo.toml이 멤버를 묶고 Cargo.lock과 target은 한곳에서 공유된다.

01 root Cargo.toml[workspace] members

패키지 묶음 선언

02 member package각 Cargo.toml

자기 의존성 선언

03 cargo -p name대상 패키지 선택

명령 범위 지정

04 shared outputCargo.lock / target

버전과 빌드 캐시 공유

구분의미판단
members워크스페이스 포함 대상루트에서 관리
Cargo.lock하나의 버전 잠금재현성
target공유 빌드 산출물중복 빌드 감소

핵심 워크스페이스는 코드 공유보다 “여러 패키지를 같은 빌드 세계에 묶는 것”이다.