Go - Private Module
导入本地 Module
借助
go.mod的replace指示符
1 | require github.com/user/b v1.0.0 |
优化方案:
Go workspace
Private Module
公网
对
private module的拉取,不会走GOPROXY代理服务,也不会去GOSUMDB服务器做 Go 包的hash值校验
内网
更主流
方案 1
in-hourse goproxy类似于nexus
方案 2
推荐
- Go 命令默认会对所有通过
goproxy拉取到的Go Module,进行sum 校验(默认到sum.golang.org) - 为了
跳过sum 验证,需要将private module填到GONOSUMDB中
实践
GOPROXY
编译
1 | $ mkdir goproxy |
缓存
1 | $ mkdir /home/zhongmingmao/goproxy/goproxy/bin/cache |
启动
1 | $ ./bin/goproxy -listen=0.0.0.0:8081 -cacheDir=/home/zhongmingmao/goproxy/goproxy/bin/cache -proxy https://goproxy.io |
验证
1 | export GOPROXY=http://mac-dev:8081,direct |
1 | goproxy.io: ------ --- /github.com/pkg/errors/@v/list [proxy] |
1 | $ tree /home/zhongmingmao/goproxy/goproxy/bin/cache |
方案
自定义
包导入路径并将其映射到内部的vcs仓库(Version Control Software)
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.

















