登录
首页 >  Golang >  Go问答

导入 Azure DevOps 存储库时,缺少 .git 导致私有存储库的 go get 失败

来源:stackoverflow

时间:2024-02-15 09:27:23 405浏览 收藏

学习知识要善于思考,思考,再思考!今天golang学习网小编就给大家带来《导入 Azure DevOps 存储库时,缺少 .git 导致私有存储库的 go get 失败》,以下内容主要包含等知识点,如果你正在学习或准备学习Golang,就都不要错过本文啦~让我们一起来看看吧,能帮助到你就更好了!

问题内容

我正在尝试将私有存储库安装为 golang 模块。

阅读 microsoft 博客文章后。我尝试在本地进行。

我已经更新了本地 .gitconfig

[url "[email protected]:v3//"]
  insteadof = https://dev.azure.com//

还导出到我的环境:

export goprivate=dev.azure.com//

存储库包含一个 go.mod 文件,其标头如下:

module dev.azure.com///

go 1.18

当我尝试通过以下方式安装模块时:

go get -v dev.azure.com///.git@develop

它失败了:

go: dev.azure.com///[email protected]: parsing go.mod:
        module declares its path as: dev.azure.com///
                but was required as: dev.azure.com///.git

但是,如果我最后删除 .git ,则会失败:

203 非权威信息

导入私有模块的正确方法是什么


正确答案


删除 .git 是第一步。

golang/go issue 41030中提到了203错误,该错误重定向到issue 28236

它包括:

如果您由于身份验证问题而使用 与 azure devops 存储库同步,请获取 ,例如在构建机器上,然后您可以在 gitconfig 文件中设置一个简单的 git 凭证助手:例如:

[credential "https://dev.azure.com"]
   helper = "/bin/sh /etc/azure-devops-helper.sh"

使用 azure-devops-helper.sh 类似的东西

#!/bin/sh
echo username=$USERNAME
echo password=$AZURE_DEVOPS_TOKEN

其中包含用户名和 pat 的环境变量。
事实证明,这对我们来说比切换到 azure 存储库的 ssh 更可靠。

并且,对于任何 401 gone 错误:

需要在 GOPRIVATE 中明确告知不要检查 dev.azure.com 的校验和。

看来真的只是这样了。

终于介绍完啦!小伙伴们,这篇关于《导入 Azure DevOps 存储库时,缺少 .git 导致私有存储库的 go get 失败》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>