go module为官方出的一款依赖管理工具,社区大部分的应用都以及采用这种方式来进行依赖包管理,下面是我日常开发过程中用到的一些命令记录。
设置代理
由于不知道什么东西的存在,导致国外的好多资源无法访问,golang的一些依赖包 golang.org/x/image
等也无法下周,所以就需要使用代理来访问,我们这里推荐七牛云的官方代理goproxy.cn
:
直接打开终端运行:
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
之后就可以愉快的下载依赖啦~ 更多用法可以前往goproxy中国官网查看
常用方法
初始化
进入到项目中,用go mod init github.com/xxx/xxx
添加依赖
添加依赖: go get github.com/xxx/xxx
添加指定版本: go get github.com/xxx/xxx@v1.6.2
添加指定版本范围: go get github.com/xxxx/xxx@'<v1.6.2'
添加指定commit的版本 git commit: go get github.com/xxxx/xxx@q2516faf3
升级依赖
升级 major 版本: go get -u github.com/xxx/xxx
升级全部依赖的 minor 或 patch 版本: go get -u
升级全部依赖的 patch 版本: go get -u=patch
补全清理依赖
go mod tidy
这个命令会下载缺失依赖,并清理无用的依赖(包括清理 go.mod 中的记录)
发布依赖代码包
go mod vendor
会将依赖包全部打包的项目的vendor目录, 编译的时候可以指定-mod=vendor