管理Go 中的子模組版本
管理包含根go.mod 檔案和子資料夾中的go.mod 檔案的Go 儲存庫時,了解如何處理子模組版本變得至關重要。
子模組的版本控制
與單一 go.mod 檔案的整體性質不同,子模組允許在內部進行獨立版本控制一個儲存庫。每個子模組的版本都由自己的 go.mod 檔案控制,這意味著它可以與主模組分開更新和發布。
範例:Vault 整合
中對於Vault 的範例,子模組github.com/hashicorp/vault/api 有自己的go.mod 檔案和版本控制,而其超級模組繼承自根go.mod 檔案。這表示當您嘗試將 api 子模組更新到 v1.3.3 但看到錯誤時,這是因為您試圖與主模組的版本不匹配。
解決問題
要解決此衝突,讓 Go 處理版本發現很重要。匯入時無需在 go.mod 檔案中指定版本,只需使用「go get」即可自動取得每個子模組的最新版本。
了解分層 Git 標籤
對於子模組版本控制,Go 利用分層 Git 標籤來標記特定版本。就 Vault 而言,儘管其主版本為 1.3.3,但 api 子模組的最新版本標記為 v1.0.4。當使用 go get 取得子模組時,Git 標籤用於取得最新的相容版本。
結論
要有效管理 Go 中的子模組版本,請記住它們操作獨立擁有自己的 go.mod 檔案和版本。允許 Go 的依賴管理透過使用子模組的 go get 來決定最新的相容版本。分層 Git 標籤提供子模組版本控制和版本不匹配預防的支援。
以上是Go 專案中如何管理子模組版本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!