模块由模块路径标识,该路径在 go.mod 文件 中声明,并与模块依赖信息放在一起。模块根目录是指包含 go.mod 文件的目录。主模块是指包含了 go 命令的目录对应的模块。
模块下的每个包都是一系列同目录下、将被编译到一起的文件集合。包路径是模块路径和包含包的子目录(相对于模块根目录的路径)拼起来的结果。比如,模块 "golang.org/x/net" 包含了目录 html 下的包。则这个包路径就是 "golang.org/x/net/html"。
Module 相关的命令
go get
用法:
go get [-d] [-t] [-u] [build flags] [packages]
示例:
# 升级特定模块。
$ go get -d golang.org/x/net
# 升级由主模块中的包导入带来的包的模块。
$ go get -d -u ./...
# 升级或降级到模块的特定版本。
$ go get -d golang.org/x/text@v0.3.2
# 更新到模块的主分支机构上的提交。
$ go get -d golang.org/x/text@master
# 删除对模块的依赖并降级需要它的模块到不需要它的版本。
$ go get -d golang.org/x/text@none
该 go get 命令更新主模块go.mod 文件中的模块依赖关系 ,然后构建和安装命令行中列出的包。
go install
用法:
go install [build flags] [packages]
示例:
# 安装一个包的最新版本。
$ go install golang.org/x/tools/gopls@latest
# 安装一个包的特定版本。
$ go install golang.org/x/tools/gopls@v0.6.4
# 安装一个包,会根据当前目录下的 go.mod 选择版本。
$ go install golang.org/x/tools/gopls
# 安装一个目录下的所有包。
$ go install ./cmd/...
介绍
Modules 是 Go 的依赖管理工具。
模块、包和版本
模块由一系列已发布、版本化、被分发的包构成。可以直接从版本控制仓库或模块代理服务器下载模块。
模块由模块路径标识,该路径在 go.mod 文件 中声明,并与模块依赖信息放在一起。模块根目录是指包含 go.mod 文件的目录。主模块是指包含了 go 命令的目录对应的模块。
模块下的每个包都是一系列同目录下、将被编译到一起的文件集合。包路径是模块路径和包含包的子目录(相对于模块根目录的路径)拼起来的结果。比如,模块 "golang.org/x/net" 包含了目录 html 下的包。则这个包路径就是 "golang.org/x/net/html"。
Module 相关的命令
go get
用法:
示例:
该 go get 命令更新主模块 go.mod 文件中的模块依赖关系 ,然后构建和安装命令行中列出的包。
go install
用法:
示例:
go install
命令生成并安装由命令行上的路径命名的包。