在使用go get 拉取私有仓库时, 会报 如下错误

go: github.com/xxxx/aprivate@v0.0.3: unknown revision v0.0.3
go: error loading module requirements

网上统一都是 git 版本问题, 要升级git 或者执行

git config --global url.ssh://git@github.com/.insteadOf http://github.com/

但我执行了以上命令, git 是最新版本(git 2.18.2) 仍然报错, 且提示信息一点参考价值也没有

通过strace go get xxxx 命令, 看到一个错误提示

futex(0xe8d930, FUTEX_WAKE_PRIVATE, 1)  = 1
read(9, "fatal: could not read Username f"..., 512) = 83
read(9, 0xc0003f2053, 1453)             = -1 EAGAIN (资源暂时不可用)

关键字: fatal: could not read Username f

查询后发现, 改错误信息完整如下

fatal: could not read Username for 'https://github.com': terminal prompts disabled

终端提示被禁用, 私有包所在的仓库拉取时, 没有输入账号密码的入口, 当然无法拉取了

解决方式也很简单

export  GIT_TERMINAL_PROMPT=1

拉取私有仓库时, 记得把GOPROXY 先清空, 否则会报错

# export GOPROXY=https://goproxy.io
export GOPROXY=""

执行 go get 完成后再恢复GOPROXY 继续build

right