简介
在最新版本的golang 1.12默认使用的包管理就是使用go module,之前版本中有各种的包管理的方式,比较混乱,现在统一了。
开始使用
1、初始化
创建自己的项目目录,然后在项目目录开始初始化module。
mkdir -p /data/codes/project1
cd /data/codes/project1
go mod init project1
这里init后面就是自己项目包的名称,在目录底下会生成一个go.mod的配置文件。如果你在这个项目底下有多个目录,内部调用的时候就是 [项目名称]/[包名]。
2、自动识别依赖包
go mod tidy -v
这个命令可以自动查找添加项目底下的依赖关系,如果代码修改包没有被使用了会自动删除,-v可以查看执行过程。
3、手动添加依赖
go mod edit -require github.com/astaxie/begoo@latest
4、查看依赖
go mod graph
5、生成vendor目录
go mod vendor
缓存目录
go module临时存放目录也是存放到GOPATH目录里面,只是不是在src目录里面,而是在pkg/mod目录里面。
代理
在下载依赖包的过程中,会发现有些网络无法访问,可以直接设置变量即可设置网络代理。
goproxy 是一个开源项目,当用户请求一个依赖库时,如果它发现本地没有这份代码就会自动请求源,然后缓存到本地,用户就可以从 goproxy.io 请求到数据。当然,这些都是在一个请求中完成的。goproxy.io 只支持 go module 模式。
export GOPROXY=https://goproxy.io
领取专属 10元无门槛券
私享最新 技术干货