You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

构建Rust Rocket Docker镜像时遇CMake错误求助

解决Rust Docker镜像构建中CMake找不到Make工具的问题

错误核心原因是Alpine基础镜像默认未预装make工具,而你的项目依赖CMake生成Makefile进行构建,导致cargo chef cook阶段失败。本地环境已包含make所以编译正常。

解决方案:补充安装构建依赖工具

修改Dockerfile中chef阶段的apk add命令,添加make、gcc和musl-dev(Alpine下的C编译工具链,部分Rust crate的C依赖需要):

FROM lukemathwalker/cargo-chef:latest-rust-alpine as chef

# 补充安装make、gcc、musl-dev等构建工具
RUN apk update && \
    apk add git cmake make gcc musl-dev

WORKDIR /app

FROM chef AS planner
COPY ./Cargo.toml ./Cargo.lock ./
COPY ./src ./src
RUN cargo chef prepare

FROM chef AS builder
COPY --from=planner /app/recipe.json .
RUN cargo chef cook --release
COPY . .
RUN cargo build --release
RUN mv ./target/release/my_app ./app

FROM scratch AS runtime
WORKDIR /app
COPY --from=builder /app/app /usr/local/bin/
ENTRYPOINT ["/usr/local/bin/app"]

说明

  • make:CMake生成Makefile后需要它来执行实际的构建步骤
  • gcc和musl-dev:Alpine使用musl libc而非glibc,编译C语言依赖时需要对应的工具链支持
  • 所有依赖安装集中在chef阶段,确保后续planner和builder阶段都能使用这些工具

重新执行镜像构建命令即可解决该错误。

内容的提问来源于stack exchange,提问作者vlio20

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 05:52:51