在个人 Git 存储库上使用“go get”
当尝试使您的某个包能够从您的包中“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$1 git git ssh://[email protected]$1"/></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,请相应地修改元标记。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3