簡體   English   中英

如何避免僅在 Docker 內部發生的“go get”“未知修訂”問題?

[英]How to avoid `go get` `unknown revision` problem which occurs only inside Docker?

當我在 docker 之外按照精確的步驟克隆和構建我的項目時,它運行良好。 當我將完全相同的序列放入 docker 文件時,我看到以下錯誤。

我對 docker 的了解不夠,不知道如何更簡潔地表述這個問題,除了說,有沒有人知道如何解決這種類型的錯誤。

Step 18/22 : RUN go build
 ---> Running in 27e0719b2e7d
go: gitlab.com/myorg/lalo@v0.12.3: reading gitlab.com/myorg/lalo/go.mod at revision v0.12.3: unknown revision v0.12.3

需要明確的是,我能夠在我的計算機上創建一個新的空臨時文件夾(沒有 docker 並進行完全干凈的構建),只有當我在 docker 中執行相同操作時,我才會看到這個未知的修訂問題。

將以下內容添加到 docker 配置中。

RUN git config --global url."git@gitlab.com:".insteadOf "https://gitlab.com/"

(這個相當晦澀的錯誤混淆了這樣一個事實,即它go get遇到一些更基本的問題。)

您很可能遺漏了登錄時為您設置的環境中的某些內容。 Go 構建受GOPATHGOROOT等環境變量的影響。 您的 gitlab 存儲庫可能需要 ssh 密鑰才能訪問。 這是您在某些時候必須設置的東西。 查看您的.bashrc.profile文件,以及env命令的輸出以獲取提示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM