为了账号安全,请及时绑定邮箱和手机立即绑定

从 Azure DevOps 存储库导入时,由于缺少 .git,go get private

从 Azure DevOps 存储库导入时,由于缺少 .git,go get private

Go
芜湖不芜 2023-02-06 10:27:44
我正在尝试将私有存储库安装为 golang 模块。阅读微软博客文章后。我试图在本地进行。我已经更新了本地 .gitconfig[url "git@ssh.dev.azure.com:v3/<my org>/"]  insteadOf = https://dev.azure.com/<my org>/也导出到我的环境:export GOPRIVATE=dev.azure.com/<my org>/存储库包含一个go.mod具有以下标头的文件:module dev.azure.com/<my-org>/<project>/<repo>go 1.18当我尝试通过以下方式安装模块时:go get -v dev.azure.com/<my-org>/<project>/<repo>.git@develop它失败了:go: dev.azure.com/<my-org>/<project>/<repo>.git@v0.0.0-20220827174211-d4e6ad2f92b0: parsing go.mod:        module declares its path as: dev.azure.com/<my-org>/<project>/<repo>                but was required as: dev.azure.com/<my-org>/<project>/<repo>.git但是,如果我在最后删除.git它,它会失败:203非权威信息导入私有模块的合适方式是什么
查看完整描述

1 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

删除 .git 是第一步。

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

这包括:

如果您是由于与 Azure DevOps 存储库同步的身份验证问题而来到这里go get,例如在构建机器上,那么您可以在文件中设置一个简单的 git 凭据帮助gitconfig程序:例如:

[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 repos 切换到 SSH 更可靠。

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

需要明确告知GOPRIVATE不要检查dev.azure.com.

看来真的仅此而已。


查看完整回答
反对 回复 2023-02-06
  • 1 回答
  • 0 关注
  • 63 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信