一、搭建go私库
本文我们梳理一下go依赖包的私库搭建以及使用。
它只分为proxy和group两种仓库,这一点和maven仓库有所不同。
1、创建Blob Stores
为了区分不同的私库依赖包,存储的位置分隔开。
2、新建go proxy官网
Remote storage:https://goproxy.io
Blob Stores:go-hub
3、新建go proxy 阿里镜像
Remote storage:https://mirrors.aliyun.com/goproxy/
Blob Stores:go-hub
4、新建go group组合仓库
这个仓库就是我们对内的私库地址。
把上述添加好的多个go proxy仓库组合起来。
自此,我们的go私库就搭建完成,拷贝group 仓库的URL,它就是你要使用的私库地址。
二、配置私库地址
go env -w GOPROXY=http://192.168.10.62:8081/repository/xxx-go/
warning: go env -w GOPROXY=... does not override conflicting OS environment variable
警告原因: 我已在~/.bash_profile配置中设置了GOPROXY。
vi ~/.bash_profile
重新编辑,并保存。
source ~/.bash_profile
可以看到,私库地址已指向nexus私库。
- 打开GO111MODULE
在没有额外配置环境变量的情况下,直接使用go env -w 修改即可。
go env -w GO111MODULE=on
三、goland配置私库
Preferences --> Appearance & Behavior --> System Settings --> HTTP Proxy
如果你还没有搭建自己的nexus私库,这里的值建议配置为https://proxy.golang.com.cn,direct
打开go.mod文件,记录了项目所有的依赖信息。如果有标红,下载失败的包依赖,再次下载即可。
require列表如果有以// indirect 结尾的包,表示间接引用。
# 测试
go get -u golang.org/x/image
# 依赖go.mod和go.sum
go mod download
四、nexus私库是否已缓存
可以看到go私有仓库在我们下载依赖时,会自动缓存在内网,下次再下载依赖包就能起加速的作用。