执行go mod download出现Git认证失败错误,寻求技术帮助
解决方案
1. 配置Git对私有仓库的无密码认证
你的GOPRIVATE指定了github.com/name/*,Go会直接拉取这些私有仓库而不走代理,而GitHub早已废弃密码认证,得换以下两种方式:
方式一:改用SSH协议拉取
执行下面的命令,让Git对github.com/name/下的仓库自动用SSH协议替代HTTPS:
git config --global url."git@github.com:name/".insteadOf "https://github.com/name/"
前提是你本地已经生成并配置了GitHub SSH密钥(密钥要添加到你的GitHub账户里)。
方式二:用个人访问令牌(PAT)走HTTPS
- 先在GitHub生成带
repo权限的个人访问令牌 - 配置Git永久存储凭证:
之后第一次拉取私有仓库时,用户名填GitHub账号,密码填生成的PAT,Git会自动保存凭证,后续无需重复输入。git config --global credential.helper store
2. 校验Go私有仓库相关环境变量
确保GOPRIVATE、GONOPROXY、GONOSUMDB的配置路径一致,可重新设置一次:
go env -w GOPRIVATE="github.com/name/*" go env -w GONOPROXY="github.com/name/*" go env -w GONOSUMDB="github.com/name/*"
3. 清理模块缓存后重试
如果之前的错误缓存干扰,先清理再拉取:
go clean -modcache go mod download
4. 手动清理错误缓存目录
直接删除错误提示里的缓存目录/home/user/go/pkg/mod/cache/vcs/48782783hhh8394928,再重新执行go mod download。
内容的提问来源于stack exchange,提问作者NubDev
相关产品推荐
相关产品推荐

