Skip to content

包管理工具

  • 一个模块是 Go packages 的集合,定义在项目根目录下的 go.mod 文件。
  • go.mod 文件定义了模块的路径,这也是使用当前项目中包的导入路径。
  • go.mod 文件还定义了模块的依赖项,这些是项目成功构建所需的其他模块。
  • 每个依赖项都被编写为模块路径和特定的语义版本。

go mod

  • go官方管理包工具
  • 使用go mod 必须设置GO111MODULE=on
bash
go env -w GO111MODULE=on

常规命令

bash
go mod init        #初始化当前文件夹, 创建go.mod文件
go mod tidy        #增加缺少的module,删除无用的module
go mod vendor      #将依赖复制到vendor下

go mod download    #下载依赖的module到本地cache(默认为$GOPATH/pkg/mod目录)
go mod edit        #编辑go.mod文件
go mod graph       #打印模块依赖图

go mod verify      #校验依赖
go mod why         #解释为什么需要依赖

go get

  • 对 go mod 项目,添加,更新,删除 go.mod 文件的依赖项(仅源码)。不执行编译。侧重应用依赖项管理。
  • 在项目中执行go get命令可以下载依赖包,并且还可以指定下载的版本。
  • 运行go get -u 将会升级到最新的次要版本或者修订版本(x.y.z, z是修订版本号, y是次要版本号)
  • 运行go get -u=patch 将会升级到最新的修订版本
  • 运行go get package@version 将会升级到指定的版本号version
  • go get 安装的包会放在$GOPATH目录

go install

  • 在操作系统中安装 Go 生态的第三方命令行应用。不更改项目 go.mod 文件。侧重可执行文件的编译和安装。