Windows下Go 1.13使用go get拉取私有GitHub仓库依赖报错求助
解决Go 1.13 Windows环境下拉取私有GitHub仓库依赖的问题
你的问题核心是Go 1.13的go get会强制禁用Git的终端交互提示,哪怕手动设置GIT_TERMINAL_PROMPT=1也会被覆盖,下面是几个可行的解决方法:
用SSH协议替代HTTPS
先确认本地已经生成GitHub SSH密钥并添加到你的GitHub账号中,然后执行以下命令让Git自动把GitHub的HTTPS链接替换成SSH:git config --global url.git@github.com:.insteadOf https://github.com/之后直接运行
go get -u <github_private_repo_link>就能正常拉取依赖了。把GitHub凭据存入Windows凭据管理器
打开控制面板→用户账户→凭据管理器→Windows凭据,点击「添加普通凭据」:- 互联网地址填
https://github.com - 用户名填你的GitHub用户名,更推荐用个人访问令牌(PAT)(生成时只需要勾选
repo权限) - 密码填你的GitHub密码或者对应的PAT
配置完成后重新运行go get命令,Git会自动调用存储的凭据,不需要终端输入。
- 互联网地址填
临时调整环境变量强制启用终端提示
之前单独设置GIT_TERMINAL_PROMPT=1没用,是因为Go 1.13还需要跳过私有仓库的校验,在当前命令行会话里先执行:set GIT_TERMINAL_PROMPT=1 set GONOSUMDB=github.com/你的私有仓库用户名/*替换掉其中的仓库用户名,再运行
go get -u <github_private_repo_link>,这时就会弹出终端让你输入GitHub凭据了。
内容的提问来源于stack exchange,提问作者cristid9
相关产品推荐
相关产品推荐

