19年第36周:Go语言 包管理和Go工具
2019-10-07 本文已影响0人
习惯研究所所长
一、Go包管理简介
- 当你工作目录不在 $GOPATH/src 里面,并且工作目录或者工作目录的任意级父目录中含有 go.mod 文件,go 命令行工具会启用模块机制;
- Go mod能够,①将当前目录设置为模块。②在代码中导入不存在的包时,go命令行工具会帮你自动安装第三方包。
二、如何更好更方便的使用Go包
创建(增):
go mod init 创建了一个新的模块,初始化 go.mod 文件并且生成相应的描述
go get xxx添加一个新的依赖项
go get xxx@v1.3.1显式地指定了 @v1.3.1,表示获取这个版本。没有则等价于@latest
go build, go test, go run 和其它构建代码包的命令,会在需要的时候在 go.mod 文件中添加新的依赖项
删除(删):
go mod tidy 移除模块中没有用到的依赖项。
修改(改):
查询(查):
go list -m all(查询全部) 列出了当前模块所有的依赖项
go list -m github...(模糊查询)...三个点是通配符,列出以github开头的包
go list -m ....com...(模糊查询)列出包名包含有com的所有包
go list -m -versions xxx(版本查询)列出这个模块能用的 tag 过的版本