在個人Git 儲存庫上使用「go get」
當嘗試使您的某個包能夠從您的個人VPS,您可能會遇到錯誤:「package example.com/user/package: 無法辨識的導入路徑」。即使按照「go help importpath」文件進行看似正確的配置,也會出現此問題。
解決方案在於將伺服器配置為傳回特定元標記以回應「go get」請求。特別是對於nginx 伺服器,可以使用以下重寫規則:
location ~ "(/[^/]+/[^/]+)(/.*)?" { if ($arg_go-get = "1") { echo '<html><head><meta name="go-import" content="my.domain.com git git+ssh://[email protected]"/></head></html>'; } try_files $uri $uri/index.html $uri.html @gitlab; }
當使用「go-get=1」參數向指定URL 發出「go get」請求時,提供的元標記將被退回。此元標記包括導入路徑、版本控制類型 (git) 以及儲存庫的 SSH URL。
確保 SSH URL 正確,因為這是 go 將用來下載和安裝套件的內容。如果您使用 HTTPS 而不是 SSH,請相應地修改元標記。
以上是為什麼我的個人 Git 儲存庫上的'go get”失敗以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!