依赖管理

依赖管理

依赖管理的三个阶段: GOPATH, GOVENDOR, go mod

GOPATH

默认在~/go

go mod的使用

使用intelij Idea创建项目

  1. 打开Intelij Idea, File->new->project
  2. 选择Go MOdules(vgo), 将Proxy: 改为https://goproxy.cn,direct
  3. 打开ide的terminal输入go env查看GO111MODULE是否为on,和查看GOPROXY是否为: https://goproxy.cn,direct
  4. 继续在terminal输入: go get -u go.uber.org/zap

获取某个固定版本: go get -u go.uber.org/zap@1.11
获取最新的版本: go get -u go.uber.org/zap
清洁: go mod tidy

增加依赖:
1. go get
2. 代码直接写, 点run的时候自动下载

go build  ./...

迁移到go mod

go mod init modtest2  
go build ./...

增加依赖 go get

总结

  1. 由go命令统一的管理, 用户不必关心目录结构
  2. 初始化: go mode init [名称]
  3. 增加依赖: go get 或者 直接写代码,在build的时候把依赖加进去
  4. 更新依赖: go get [@v…], go mod tidy # 不加@v表示拿最新版本
  5. 将旧项目迁移到go mod: go mod init, go build ./…, 删掉vendor,glide.yaml等文件

目录的整理

把每一个包含main的文件,分别放在不同的目录里

go build ./… #编译当前和所有下级目录中的main方法,不产生编译文件 go install ./… # 产生编译文件, 在GOPATH的bin目录中