dependency lock

워크스페이스는 Cargo.lock을 공유하지만 의존성 선언은 패키지별이다

공통 잠금 파일이 버전을 맞추더라도, 각 패키지는 자신이 실제로 쓰는 crate를 Cargo.toml에 적어야 한다.

패키지 Cargo.toml
  • 사용 의존성 명시
  • features 선택
  • 빌드 입력
워크스페이스 Cargo.lock
  • 해결된 버전 저장
  • 전체 멤버 재현성
  • 충돌 탐지
구분의미판단
의존성 추가사용하는 패키지에 기록다른 멤버에 자동 전파되지 않음
버전 결정resolver가 통합Cargo.lock 갱신
빌드멤버별 필요한 crate만 연결불필요한 의존성 차단

핵심 잠금 공유는 선언 공유가 아니라 버전 해석 결과 공유다.