一直使用go开发一些简单的东西,但是包管理太麻烦了,虽然有自建的科学上网,但遇到golang.org模块,还是烦上加烦。
1.本地环境
Macbook pro
系统:macOS Mojave
IDE: vs code
终端: iTerm2 + zsh
Go: homebrew安装 go版本1.14.3
其他数据库一类的支持软件使用Docker镜像
2.开启模块,配置国内代理
因为本机使用zsh, 所以在用户目录下,修改.zshrc,在末尾加两行。
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
保存退出,即时生效使用 source .zshrc
go evn 看到GO111MODULE=“on” 即为成功。
3.项目使用module
在终端中切换目录到项目根目录
1)初始化 go mod init 初始化项目使用mod ,此时项目根目录下会生成go.mod
2)检测依赖 go mod tidy 检测当前项目所使用的依赖项目,并增加进go.mod,同时生成go.sum 包含所有依赖包。
3)下载依赖 go mod download 下载module .
4)导入依赖 go mod vendor 依赖导下项目.
初次初始化项目,执行1)->2)->3)->4),后续增加依赖,执行2)->3)->4)。
4.其他配置
因为项目依赖,导至项目下的vendor文件夹会比较大,源码管理时,需将vendor目录加入.gitignore
其他module 相关命令行
go mod init # 初始化go.mod
go mod tidy # 更新依赖文件
go mod download # 下载依赖文件
go mod vendor # 将依赖转移至本地的vendor文件
go mod edit # 手动修改依赖文件
go mod graph # 打印依赖图
go mod verify # 校验依赖