在 Go 模組的上下文中,依賴項是特定模組所需的套件。雖然直接依賴項在 go.mod 檔案的 require 語句中明確列出,但當直接依賴項依賴它們時,會自動新增間接相依性。
這可能會導致模組的 go.mod 檔案包含以下內容:許多間接依賴項,即使模組本身不直接使用它們。這可能會造成混亂且難以管理,尤其是當包含多個版本的依賴項時。
不幸的是,不可能完全避免 go.mod 檔案中的間接相依性。使用 Go 模組時,除非另有說明,否則直接依賴項所需的所有相依性都會自動新增為間接相依性。
以問題中提供的範例:
module prodenv go 1.13 require ( github.com/gocolly/colly v1.2.0 ... )
在這種情況下, github.com/gocolly/colly v1.2.0 沒有go.mod 文件,因此它的所有依賴項在prodenv 模組的go.mod 檔案中都列為間接依賴項。
為了避免間接依賴項,它建議使用具有 go.mod 檔案的依賴項。這將確保只有模組直接使用的依賴項才會在 go.mod 檔案中列出。
以上是你能完全避免Go模組中的間接依賴嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!