簡體   English   中英

如何獲取 go package 的實際存儲庫 url

[英]How to get the acutal repository url of a go package

For example, we can use go get k8s.io/client-go to install the go package but is there a way to figure out the source code URL is actually https://github.com/kubernetes/client-go ? 因為如果我直接訪問 k8s.io/client-go 會顯示 404。

go 客戶端如何確定此示例中的源代碼在哪里?

命令 go:遠程導入路徑:

某些導入路徑還描述了如何使用版本控制系統獲取 package 的源代碼。

...對於托管在其他服務器上的代碼,導入路徑可以使用版本控制類型進行限定,或者<meta>工具可以通過 https/http 動態獲取導入路徑,並從HTML。

...如果導入路徑不是已知的代碼托管站點並且還缺少版本控制限定符,則 go 工具會嘗試通過 https/http 獲取導入並在文檔的 HTML <head>中查找標簽。

元標記具有以下形式:
<meta name="go-import" content="import-prefix vcs repo-root">

import-prefix 是存儲庫根目錄對應的導入路徑。 它必須是使用“go get”獲取的 package 的前綴或完全匹配。 如果不完全匹配,則會在前綴處發出另一個 http 請求以驗證<meta>標記匹配。

例如,在您的情況下, go工具將查詢https://k8s.io/client-go?go-get=1 自己檢查:

curl https://k8s.io/client-go?go-get=1

回復:

<html><head>
    <meta name="go-import"
          content="k8s.io/client-go
                   git https://github.com/kubernetes/client-go">
    <meta name="go-source"
          content="k8s.io/client-go
                   https://github.com/kubernetes/client-go
                   https://github.com/kubernetes/client-go/tree/master{/dir}
                   https://github.com/kubernetes/client-go/blob/master{/dir}/{file}#L{line}">
</head></html>

如您所見,響應 HTML 文檔清楚地表明代碼可在github.com/kubernetes/client-go

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM