解决golang go get gitlab私有仓库的问题(1.13)
1. 问题描述
require (
git.xxxxxxx.com/middle/user v0.0.1
)
- go mod tidy 导入包失败
- go get git.xxxxxxx.com/middle/user 失败
- go build 有CHECKSUM过程,无法编译
2. 现象分析
- go get 不支持代码支持之外的仓库。并且git 调用链过程采取了https
- 下载过程如果机器设置了GOPROXY,会导致下载失败
- 编译过程会导致CHECKSUM失败
3. 物料
物料 | 说明 |
---|
git.xxxxxxx.com | 私有仓库 |
middle/user.git | 用户服务模块 |
方案
- 给释出的仓库打tag比如v0.0.1,这样仓库地址就可以被识别
- export GOPRIVATE=git.xxxxxxx.com
go build的时候系统就不会用GOPROXY以及不再校验SUM - 调整git https===>ssh,注意username换成自己的用户名
[url "username@git.xxxxxxx.com"]
insteadOf = https://git.xxxxxxx.com
结论
- 这个问题,google 堪称一绝,够任性