Appearance
包管理工具
- 一个模块是 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 文件。侧重可执行文件的编译和安装。