gpt4 book ai didi

git - 在个人 git repo 上使用 "go get"

转载 作者:IT老高 更新时间:2023-10-28 13:06:20 24 4
gpt4 key购买 nike

我将我的 git 存储库托管在个人 VPS 上,并且我有一个想要“去获取”的包。我试图根据通过发出“go help importpath”找到的帮助文档来设置所有内容,但没有成功。无论我做什么,我都会收到以下错误:

package example.com/user/package: unrecognized import path "example.com/user/package"

我已经尝试了上述 META 标记的所有组合,结果相同。

<meta name="go-import" content="example.com git http://example.com/user/package">

实际的 git 存储库可通过 http://example.com/user/package.git 访问.我可以直接克隆它,但我想去下载并正确安装它。

根据帮助文档,如果 go 向 http://example.com/user/package?go-get=1 发出请求返回的页面包含 META 标记。如果 go 则向 http://example.com/?go-get=1 发出后续请求返回的页面也包含完全相同的 META 标记。

是否需要在服务器上进行任何特殊配置?我不这么认为,因为 go 将通过 http 请求访问存储库。

我已经束手无策了。您能提供的任何帮助将不胜感激。

最佳答案

这是我配置 nginx 为 gitlab 服务器返回的元标记:如果您请求 http://mygit.server/group/project?go-get=1

你得到:

<meta content='mygit.server/group/project git git+ssh://git@mygit.server/group/project.git' name='go-import'>

它就像一个魅力。

这是执行此操作的 nginx 重写规则:

location ~ "(/[^/]+/[^/]+)(/.*)?" {
if ($arg_go-get = "1") {
echo '<html><head><meta name="go-import" content="my.domain.com$1 git git+ssh://git@my.domain.com$1"/></head></html>';
}
try_files $uri $uri/index.html $uri.html @gitlab;
}

这当然假设您正在使用 git over ssh。如果您使用 https,请相应地重写 url。

关于git - 在个人 git repo 上使用 "go get",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26347516/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com