前言

如果代码中依赖了本地的包, 这个包是托管在内网 Gitlab 中, 而且不是 HTTPS 服务,那么应该怎样使用 go mod 拉取代码呢? 本文会给你我的答案

正文
go mod vendorgo get xxx
go get xxxxx
go gethttps://xxxxx
 connection refused

针对 http 的情况, 尽管 http 不够安全, 但是 go 官方还是有一个选项

go get --insecure xxxx

此时就会去访问 http 而不是 https

而我们发现又会报错

 terminal prompts disabled

实际上是因为我们需要拉仓库的代码时, 如果仓库是私有的, 肯定需要身份验证, 我们知道 go get 实际上是 git 拉取代码, 所以我们可以使用添加 SSH 的方式, 也可以直接在命令行中输入帐密, 本次介绍命令行, 而在 go get 时默认是关闭 git 的输入的, 此时我们需要添加环境变量, 此处我们演示临时添加一个

export GIT_TERMINAL_PROMPT=1

在执行 go get 就会发现提示输入帐密, 输入成功后就可以拉下来

go mod vendor