在 Go 模組支援中,相依性會在建置或安裝過程中自動管理和安裝。這與簡化依賴關係管理的目標是一致的。
但是,有些開發人員更喜歡明確管理依賴關係的靈活性。在其他生態系統中,複製依賴項清單(例如 package.json)並單獨安裝依賴項是很常見的。這種方法利用 Docker 的層緩存來優化重建效能。
解決方案
為了滿足這一需求,Go 引入了在問題 #26610 中修復的解決方案。開發人員現在可以使用 go mod download 指令手動取得依賴項。此命令僅需要 go.mod 和 go.sum 檔案。
如何在Docker 建置中使用此指令的範例如下所示:
FROM golang:1.17-alpine as builder ... # Fetch dependencies COPY go.mod go.sum ./ RUN go mod download # Build ...
此外,請參閱文章“容器化您的Go 開發環境– 第2 部分”,以了解使用Go 編譯器快取的進一步最佳化技術。
以上是Go 是否允許明確依賴項獲取來優化建置?的詳細內容。更多資訊請關注PHP中文網其他相關文章!