繁体   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