私有git仓库只支持http情况下go mod tidy 和 go get 默认走https的问题处理
1. 假定git仓库的ip是10.1.1.1, 仓库名称是git-repo-name, 仓库的go module名称是 10.1.1.1/your-user-name/git-repo-name, 该仓库目录下有go-utils文件夹, go-utils文件夹下是utils包, utils包有函数"IntToString(i int) string"
2. git 全局配置, 强制git https走http
git config --global url."http://10.1.1.1".insteadOf "https://10.1.1.1"
3. go 环境配置, 强制10.1.1.1的仓库不走代理
go env -w GOPRIVATE="10.1.1.1"
4. 将仓库的go module名称 10.1.1.1/your-user-name/git-repo-name 改成.git后缀形式 10.1.1.1/your-user-name/git-repo-name.git, 强制 go mod tidy 和 go get 走git方式拉取代码, 然后在仓库10.1.1.1/your-user-name/git-repo-name底下执行go mod tidy, 处理掉因为go module名称而导致的错误
5. 引用仓库git-repo-name下的utils包方式类似如下
import (
utils "10.1.1.1/your-user-name/git-repo-name.git/go-utils"
)
var _iTest = 3
var _ = utils.IntToString(_iTest)
如果需要走http+token或者其他方式获取私有仓库,可以参考下面这篇文章 go get private git repo
|