docs.rs: 기본적으로 빌드 대상 수 줄이기
Source: Rust Blog
기본적으로 빌드 대상 수 줄이기
2026-05-01에 docs.rs는 빌드 동작에 대한 중대한 변경을 적용합니다.
- 현재 동작: 크레이트가
docs.rs메타데이터에targets목록을 정의하지 않으면, docs.rs는 기본 다섯 개 대상에 대해 문서를 빌드합니다. - 새 동작 (2026-05-01부터 적용): docs.rs는 추가 대상이 명시적으로 요청되지 않는 한 기본 대상에 대해서만 문서를 빌드합니다.
이는 2020년에 처음 도입된 변경의 다음 단계로, docs.rs가 빌드 대상 수를 줄이는 옵션을 지원하게 된 이후입니다. 대부분의 크레이트는 대상마다 다른 코드를 컴파일하지 않으므로, 기본적으로 빌드 대상 수를 줄이는 것이 대부분의 릴리스에 더 적합합니다. 또한 빌드 시간을 단축하고 docs.rs의 리소스를 절약할 수 있습니다.
이 변경은 다음에만 영향을 미칩니다
- 새로운 릴리스
- 기존 릴리스의 재빌드
기본 대상은 어떻게 선택되나요?
default-target을 설정하지 않으면, docs.rs는 빌드 서버의 대상을 사용합니다:
x86_64-unknown-linux-gnu
docs.rs 메타데이터에 default-target을 설정하여 이를 재정의할 수 있습니다:
[package.metadata.docs.rs]
default-target = "x86_64-apple-darwin"
추가 대상에 대한 문서는 어떻게 빌드하나요?
크레이트가 기본 대상 외에 다른 대상에 대해서도 문서를 빌드해야 한다면, Cargo.toml에 전체 목록을 명시적으로 정의하십시오:
[package.metadata.docs.rs]
targets = [
"x86_64-unknown-linux-gnu",
"x86_64-apple-darwin",
"x86_64-pc-windows-msvc",
"i686-unknown-linux-gnu",
"i686-pc-windows-msvc",
]
targets가 설정되면, docs.rs는 정확히 해당 대상들에 대해서만 문서를 빌드합니다. docs.rs는 여전히 Rust 툴체인에 포함된 모든 대상을 지원합니다; 변경되는 것은 기본 동작뿐입니다.