首頁 >後端開發 >Golang >Go 的「go get」指令可以從本機伺服器儲存庫檢索套件嗎?

Go 的「go get」指令可以從本機伺服器儲存庫檢索套件嗎?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-07 11:35:12353瀏覽

Can Go's `go get` Command Retrieve Packages from a Local Server Repository?

Go 可以在本機伺服器上使用儲存庫嗎?

是的,Go 允許您從託管在本機伺服器上的儲存庫檢索套件和模組本機伺服器,即使它是私人儲存庫。以下是如何使用Go get 來處理此類儲存庫:

使用GOPATH 模式

如果您在GOPATH 模式下使用Go,則需要將下列環境變數新增至您的系統:

GOPATH=/path/to/local/repo

此設定將指示Go 在其中尋找套件和模組指定的本機目錄。請記住,路徑應該是包含 git 儲存庫的目錄的絕對路徑。

調整Go get 命令

使用Go 從本地存儲庫檢索包或模組獲取,將以下格式附加到命令:

[email protected]:/--path--/--to--/--repository.git//--package--/--or--/--module--

注意:

  • 將--path--/--to--/--repository.git 替換為相對或本機儲存庫的絕對路徑。
  • 將 --package--/--or--/--module 替換為套件的名稱或您想要擷取的模組。

範例:

假設您在 /srv/git/liqid.git 有一個本地儲存庫,並且想要檢索液體套件。您可以使用以下指令:

go get [email protected]:/srv/git/liqid.git/liqid

注意:在 GOPATH 模式下使用 Go 時避免使用 path@version 語法。

使用模組

使用模組時,您需要確保以下環境變數為set:

GOPRIVATE=192.168.xxx.yyy/mygitrepo/*,github.com/my-username/*

注意:

注意:

注意:
go get [email protected]:/--path--/--to--/--module--

注意:

將192.168.xxx.yyy/mygitrepo 替換為本地倉庫的IP 位址和倉庫名稱。透過附加逗號來指定其他私有儲存庫。

go get [email protected]:/srv/git/mymodule.git
執行Go get

要從本地存儲庫檢索模塊,請使用以下命令:

  • 示例:
  • 檢索mymodule 模組來自/srv/git/mymodule.git,您可以使用以下命令:
  • 其他注意事項:
  • 確保您有SSH 密鑰訪問您的本機儲存庫。
您的本機伺服器應該有 SSHD 如果本機伺服器的主機名稱不包含點 (.),請使用其 IP 位址。 Go 將下載的套件和模組快取在 $GOPATH/pkg/mod 中。 您可以使用 go mod download 指令明確下載模組。 go env -w GOPRIVATE= 語法可以用來設定多個私有倉庫。 更多資訊和最佳實踐,請參考 Go 官方文件。

以上是Go 的「go get」指令可以從本機伺服器儲存庫檢索套件嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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