【Go言語】failed to solve: process “/bin/sh -c go mod download” did not complete successfully: exit code: 1の対応方法

今回は「failed to solve: process “/bin/sh -c go mod download" did not complete successfully: exit code: 1」の対応方法の紹介です。
目次
failed to solve: process “/bin/sh -c go mod download" did not complete successfully: exit code: 1とは?
failed to solve: process "/bin/sh -c go mod download" did not complete successfully: exit code:
Goの依存関係のダウンロード(go mod download)中にエラーが発生し、プロセスが終了コード1で失敗したということです。
failed to solve: process “/bin/sh -c go mod download"の原因
- go.modやgo.sumに記載されたモジュールが取得できない(ネットワークエラー、タイポ、非公開リポジトリなど)
- go.modファイル自体に文法エラーがある
- Dockerfile内でのGoの環境設定が不完全(Goのバージョン、ネットワーク設定 など)
スポンサードサーチ
failed to solve: process “/bin/sh -c go mod download"の対応方法
- ローカルで go mod tidy を実行して問題がないか確認
- Dockerfileで RUN go mod download を実行している場合は、その前に正しく WORKDIR や COPY go.mod などが設定されているか確認
- ネットワーク接続に問題がないかチェック(特に会社のVPNなど)
- エラーメッセージの直前に表示されるログを確認すると、詳細な原因がわかることが多い
Dockerfileでの対応

download前にGOPROXYを追加することで解決します。
ENV GOPROXY=https://goproxy.cn,https://goproxy.io,direct // だうんろーど追加
RUN go mod download

以上です。