Actions
업무 #423
진행중
JL
JL
Docker 빌드 실패 — time crate 0.3.47 가 rustc 1.88+ 요구, builder image 가 1.85
업무 #423:
Docker 빌드 실패 — time crate 0.3.47 가 rustc 1.88+ 요구, builder image 가 1.85
설명
문제¶
docker compose build 가 다음 에러로 실패:
error: rustc 1.85.1 is not supported by the following packages:
time@0.3.47 requires rustc 1.88.0
time-core@0.1.8 requires rustc 1.88.0
time-macros@0.2.27 requires rustc 1.88.0
Either upgrade rustc or select compatible dependency versions with
`cargo update <name>@<current-ver> --precise <compatible-ver>`
time 은 chrono / sqlx 의 transitive 의존성이며 cargo update 또는 lockfile refresh 시 0.3.47 로 자동 올라간다. 이 버전이 rustc 1.88 을 MSRV 로 요구하지만, Dockerfile 의 builder image 는 rust:1.85-slim 이라 충돌.
로컬 환경 (rustc 1.95) 에서는 정상 빌드되어 발견이 늦어졌다. CI / Docker 빌드에서만 재현됨.
영향¶
-
docker compose build app실패 → 서버에 새 코드 배포 불가 - 가장 직접적으로는 #420 Phase 4 (Redeem Code Dev Console UI) 가
edge-admin.alphea.ai에 반영되지 않는 원인
해결¶
-
Dockerfile:FROM rust:1.85-slim AS builder→FROM rust:1.88-slim AS builder -
Cargo.toml:rust-version = "1.85"→rust-version = "1.88"(실제 요구 버전과 일치시켜 MSRV 거짓말 방지)
time 을 옛 버전으로 pin 하는 대안 (cargo update -p time --precise 0.3.41) 도 있지만, transitive dep 이라 향후 다시 deconverge 될 가능성이 높아 builder image 를 올리는 쪽이 안정적.
검증¶
-
cargo build --release로컬: 28s 통과 - Docker 빌드: 본 이슈 해결 commit 후
docker compose build app재실행하여 확인 필요
Actions