首頁 >後端開發 >Golang >如何將'go get”和'go dep”與私有 GitLab 子組儲存庫一起使用?

如何將'go get”和'go dep”與私有 GitLab 子組儲存庫一起使用?

Linda Hamilton
Linda Hamilton原創
2024-12-03 17:45:11851瀏覽

How Can I Use `go get` and `go dep` with Private GitLab Subgroup Repositories?

將Go 與GitLab 子組結合使用:問題與解決方案

當嘗試使用Go 的依賴管理工具時,go get 或go dep,組織成子群組的私人GitLab 儲存庫時,使用者可能會遇到錯誤,指示遠端儲存庫是無法存取。

問題

出現此錯誤是因為 GitLab 有意增強私有儲存庫的安全性。如問題 #1337 所述,GitLab 建議將「.git」加入 URL 作為解決方法。

解決方案

以下綜合解決方案可解決此問題:

  1. 建立個人存取權令牌:產生令牌GitLab 上的「api」範圍。
  2. 建立.netrc 檔案: 在主目錄中設定一個包含以下內容的「.netrc」檔案:

    machine gitlab.com
    login <your gitlab username>
    password <the token created in step 1>
  3. 保護.netrc 檔案: 以確保安全性,將.netrc檔案的權限設定為 600:

    chmod 600 ~/.netrc
  4. 享受: 您現在應該能夠對私有 GitLab 子群組使用 go get 或 go dep

用法:

  • 對於 go get:

    go get gitlab.com/<company>/<subgroup>/<project>
  • 為了去dep:

    dep ensure -add gitlab.com/<company>/<subgroup>/<project>

注意:對於在私有主機名稱上安裝GitLab,請適當替換「gitlab.com」。

實作此解決方案後,您可以有效地使用具有私人 GitLab 子群組儲存庫的 Go 相依性管理工具。

以上是如何將'go get”和'go dep”與私有 GitLab 子組儲存庫一起使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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