# Go 依赖管理
# 一. GOPATH
GOPATH 管理依赖的模式是将所有的依赖都保存在指定的目录下。
提示
默认路径在 ~/go(unix, linux)
, %USERPROFILE%\go(windows)
# 二. GOVENDOR
GOVENDOR 管理依赖的模式是在每一个项目下创建一个 vendor 目录,这样就解决了不用项目依赖不同版本库的问题。
提示
大量第三方依赖管理工具: glide, dep, go dep, ...
# 三. go mod 的使用
go mod 会把依赖保存在 GOPATH/mod/xxx 中
- 初始化 go mod
go mod init
- 安装 go 依赖
go get -u xxx
- 清除不需要的依赖
// 假如依赖了v1.1版本的,但是后来升级到v1.2,这时在go mod中会产生不需要引用得依赖,相当于前端的 uninstall
go mod tidy
# 四. 迁移 go mod
# 初识化gomod
go mod init myapp
# 拉所以的库
go build ./...
# 删除 vender 以及相关工具配置
rm -rf vender glide.yaml
go mod 的好处
由 go 命令统一的管理,用户不必关心目录结构
# 五. 目录的管理
go 同一个文件夹下,只能有一个 main 函数, 所以多个 go 文件需要分别在不同的文件夹下
- 将所有文件夹下的 go 文件都 build 一下, 只检查,不会生成二进制文件
go build ./...
- 编译并生成二进制文件
go install ./...
go env GOPATH
# 找到 GOPATH ,然后二进制文件生成在 GOPATH/bin 目录下