使用go get拉取Azure DevOps私有Go仓库失败的解决咨询
问题解决方法
这个错误的核心是模块声明路径和实际引用路径不匹配:你的私有库go_poc_library自身的go.mod里声明的模块名是go_poc_library,但你在消费服务里用的引用路径是dev.azure.com/me/az-cloud/_git/go_poc_library.git,两者不一致导致Go模块解析失败。
按以下步骤修复:
修改私有仓库的go.mod文件
找到Azure DevOps私有仓库go_poc_library根目录下的go.mod,把第一行的module go_poc_library改成和你引用时的路径完全一致,比如:module dev.azure.com/me/az-cloud/_git/go_poc_library如果你执行
go get时带了.git后缀,就改成module dev.azure.com/me/az-cloud/_git/go_poc_library.git。修改完成后提交推送变更到私有仓库,重新打v0.0.1版本标签(或把现有标签更新到最新提交)。调整消费服务的go.mod
将replace指令的左侧路径改成和私有库声明的模块路径一致,比如:replace dev.azure.com/me/az-cloud/_git/go_poc_library v0.0.1 => /go_poc_library(如果私有库模块名带
.git,左侧路径也要对应加上)重新执行go get
执行go get dev.azure.com/me/az-cloud/_git/go_poc_library@v0.0.1(或带.git的对应路径),此时模块路径匹配,就能正常拉取依赖。
额外提示:Go模块路径需保证全局唯一,私有库的模块名最好和仓库完整URL路径一致,这样本地开发和CI环境的模块解析都不会出问题。
内容的提问来源于stack exchange,提问作者slipperypete
相关产品推荐
相关产品推荐

