原创

GoModule有哪些命令?如何使用?

Go有如下关于Module的命令:

go mod 命令:
download命令:下载依赖模块到${GOPATH}/pkg/mod

edit命令:是指在命令行用指令通过不同的参数修改go.mod文件,这个指令必须得写参数才能正确执行,不能空执行go mod edit
参数1 :-fmt
go mod edit -fmt
格式化go.mod文件,只是格式规范一下,不做其它任何内容上的修改。
其它任何edit指令执行完毕后都会自动执行-fmt格式化操作。
这个使用场景就是我们如果不想做任何操作,就想试试edit指令,就只需要跟上-fmt就行,因为单独不加任何参数
只有go mod edit后面不跟参数是无法执行的。
我们如何升级降级依赖模块的版本,或者说添加新的依赖和移除旧的依赖呢

参数2: -require=path@version / -droprequire=path flags
添加一个依赖:
go mod edit -require=github.com/gin-contrib/sessions@v0.0.1
删除一个依赖:
go mod edit -droprequire=github.com/gin-contrib/sessions@v0.0.1
这两个和go get package@version 功能差不多,但是官方文档更推荐使用go get来完成添加和修改依赖(go get 后的package和上面的path一个含义,都是模块全路径名)

参数3:-exclude=path@version and -dropexclude=path@version
排除某个版本某个模块的使用,必须有该模块才可以写这个进行排除。
go mod edit -exclude=github.com/gin-contrib/sessions@v0.0.1
删除排除
go mod edit -dropexclude=github.com/gin-contrib/sessions@v0.0.1

graph命令
命令用法: 输出每一个模块依赖了哪些模块 无参数,直接使用 ,在项目根目录下命令行执行
go mod graph

init命令:在一个非module项目的根目录下创建一个go.mod文件使其变为一个module管理的项目

tidy命令:根据项目实际使用的依赖包修改(删除和添加)go.mod中的文本内容
有一个参数可选项 -v 输出在go.mod文件中删除的引用模块信息
比如我们项目用到一个模块,go.mod中没写,执行后go.mod中就会添加上该模块的文本引用。
如果我们在go.mod中引用了一个模块,检测在真实项目中并没有使用,则会在go.mod中删除该文本引用。
使用如下:
go mod tidy -v
输出:
unused github.com/edgexfoundry/go-mod-bootstrap

vendor命令: 在项目根目录创建一个vender文件夹 然后把${GOPATH}/pkg/mod下载的本项目需要的依赖模块拷贝到本项目的vender目录下
-v参数可以在控制台输出相关的结果信息
例如:go mod vender -v

verify命令:校验${GOPATH}/pkg/mod中的依赖模块下载到本地后是否被修改或者篡改过
命令使用:go mod verify
比如输出:
all modules verified
这个是所有模块已经验证,代表没有被修改,如果被修改,会提示哪些被修改。

why命令:一个说明文档的功能,用于说明一些包之间的为什么要这么依赖。(没啥用)

本文链接地址:http://www.ysxbohui.com/article/231

正文到此结束