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

如何在Docker容器中安装go-migrate?M1 Mac环境安装报错求助

解决M1 MacBook上Docker安装go-migrate失败的问题

你遇到的exit code: 100错误,核心原因是M1的arm64架构与默认golang:1.20.3镜像的amd64架构不兼容,导致packagecloud的安装脚本无法找到对应架构的deb包。以下是两种可行的解决方法:

方案一:直接下载预编译二进制(推荐)

跳过deb包安装流程,直接从官方仓库下载对应架构的预编译二进制文件,兼容性更好:

FROM golang:1.20.3

# 自动适配容器架构下载go-migrate二进制
RUN ARCH=$(dpkg --print-architecture) && \
    curl -L https://github.com/golang-migrate/migrate/releases/download/v4.15.2/migrate.linux-${ARCH}.tar.gz | tar xz && \
    mv migrate /usr/bin/migrate && \
    chmod +x /usr/bin/migrate

# 验证安装有效性
RUN migrate --version

方案二:指定arm64架构镜像并调整安装脚本

若坚持使用deb包安装,需要明确指定arm64架构的基础镜像,并在执行安装脚本时指定架构参数:

FROM --platform=linux/arm64 golang:1.20.3

# 安装依赖并指定架构运行packagecloud脚本
RUN apt-get update && apt-get install -y curl && \
    curl -s https://packagecloud.io/install/repositories/golang-migrate/migrate/script.deb.sh | bash -s -- --arm64 && \
    apt-get install -y migrate

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 02:32:34