在个人 Git 存储库上使用“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 git git+ssh://[email protected]"/></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,请相应地修改元标记。
以上是为什么我的个人 Git 存储库上的'go get”失败以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!