首页 >后端开发 >Golang >为什么我的个人 Git 存储库上的'go get”失败以及如何修复它?

为什么我的个人 Git 存储库上的'go get”失败以及如何修复它?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-03 09:22:03386浏览

Why Does

在个人 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&#160;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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn