#go.mod 引用 公司gitlab 库

类似 java 引用内部搭建的maven 库。

#step 1

 # vim .bash_profile
  export GONOPROXY=gitlab.xxx.com
  export GOINSECURE=gitlab.xxx.com
  export GOPRIVATE=gitlab.xxx.com

#step 2

git config --global url."git@gitlab.xxx.com:".insteadOf https://gitlab.xxx.com/ 这将为我们的个人 git 仓库配置一个替代 URL,使其在 “go get” 命令运行时自动使用 SSH 身份验证。

#cat ~/.gitconfig
[url "git@gitlab.xxx.com:"]
	insteadOf = https://gitlab.xxx.com/

这个步骤 有问题时,再加入一个 ,http的, git config --global url."git@gitlab.xxx.com:".insteadOf http://gitlab.xxx.com/

#step 3

进入 golang 业务项目。

go get gitlab.xxx.com/xxoo/inner-common.git  
后面带git 后缀  

如果此项目也被别的项目引用。
go mod init gitlab.xxx.com/company_name/group_name/project_name.git

到这里 完成引用,gitlab项目名字起不好的话,引用起来难看。 可以采用replace 形式


https://goproxy.io/zh/docs/GOPRIVATE-env.html go 命令会从公共镜像 goproxy.io 上下载依赖包,并且会对下载的软件包和代码库进行安全校验,当你的代码库是公开的时候,这些功能都没什么问题。但是如果你的仓库是私有的怎么办呢?

环境变量 GOPRIVATE 用来控制 go 命令把哪些仓库看做是私有的仓库,这样的话,就可以跳过 proxy server 和校验检查,这个变量的值支持用逗号分隔,可以填写多个值