首頁 >後端開發 >Golang >如何導入本地Go模組而不發布它?

如何導入本地Go模組而不發布它?

Patricia Arquette
Patricia Arquette原創
2024-12-19 00:59:11748瀏覽

How Can I Import a Local Go Module Without Publishing It?

導入本地Go 模組而不發布

問題:

在Go 專案中,您想要導入GOPATH 外部的模組,而不是發佈到GitHub 或其他地方。但是,您遇到錯誤:「無法找到路徑 [模組名稱] 的模組。」儘管使用「go mod init [模組名稱]」初始化模組,該模組仍然無法存取。

答案:

要導入本地Go 模組而不發布它:

使用替換指令需要

  1. 在主模組的go.mod文件中,加入以下行:
require "module-name" v0.0.0
replace "module-name" v0.0.0 => "{local path to the module}"
  1. 將{本地路徑替換為module} 與本地根目錄的絕對或相對路徑module.

說明:

Go 的模組系統從指定路徑擷取模組。透過使用替換指令,您可以覆寫預期路徑並將其指向本機模組。這允許您導入模組而不發布它。

從模塊導入包:

從本地模塊導入包,例如util:

import "module-name/util"

詳細信息:

Go 模組需要唯一標識符,通常對應於公共路徑。但是,replace 指令可讓您使用自訂路徑。此方法不依賴公開可用的模組,而是幫助您處理不打算發布的本機模組。

有關更多信息,請參閱 Go 模組文檔:

  • [我可以在本地文件系統上完全脫離 VCS 工作嗎? ](https://go.dev/doc/modules/faq#local)
  • [何時該使用替換指令? ](https://go.dev/doc/modules/replace)

以上是如何導入本地Go模組而不發布它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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