[英]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 客户端如何确定此示例中的源代码在哪里?
某些导入路径还描述了如何使用版本控制系统获取 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.