首頁 >後端開發 >Golang >Go 模組:從 GOPATH 的全有或全無過渡?

Go 模組:從 GOPATH 的全有或全無過渡?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-30 15:57:10640瀏覽

Go Modules: All-or-Nothing Transition from GOPATH?

了解私人儲存庫中的 Go 模組和 Gopath

將內部程式碼庫從 dep 移轉到 go 模組時,會出現某些注意事項。本文深入探討了使用 go 模組的期望和後果,特別是與私人儲存庫和 gopath 相關的期望和後果。

Go 模組和 Gopath

根據 Go對於專案架構師來說,「無點」路徑(前面沒有點)專門用於標準函式庫。內部開發的依賴項不應使用此表示法。

一旦專案過渡到使用 go 模組,它必須完全擁抱模組系統。然後,gopath 在功能上與模組快取相同。

模組和私人儲存庫的後果

這種到模組的轉換需要透過私人儲存庫管理依賴項。因此,開發人員可能會面臨以下後果:

  • 遠端依賴迭代:開發人員可能需要將變更推送和拉取到遠端儲存庫以迭代私有模組相依性。
  • 合併儲存庫:或者,開發人員可以將所有儲存庫合併到一個更集中的單一儲存庫中一。

您的關鍵假設

您認為 go 模組專案中的所有依賴項必須透過模組系統解決的假設是正確的。 gopath 僅用作下載模組的快取。

問題:go 模組是全有還是全無?

是的,go 模組是全有或全無。一旦專案採用模組,所有依賴項都必須模組化。 gopath 僅保留其作為下載模組的快取的意義。

從 Gopath 明確解決依賴關係

沒有辦法明確指示應該解決依賴關係來自 gopath。

其他見解

  • 將 myprogram 移出 gopath 並不能解決問題。
  • 在 mylib 目錄中執行「go mod init」不會影響情況。
  • 利用 $GOPROXY 可以促進具有私有模組依賴的離線開發。

以上是Go 模組:從 GOPATH 的全有或全無過渡?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn