Golang里面Go Mod命令有哪些,都有什么作用
一、go mod 是什么?
go modules 官方定义为:
模块是相关Go包的集合。modules是源代码交换和版本控制的单元。
go命令直接支持使用modules,包括记录和解析对其他模块的依赖性。modules替换旧的基于GOPATH的方法来指定在给定构建中使用哪些源文件。
二、详细命令
1. init
代码:
go mod init
生成 go.mod 文件,此命令会在当前目录中初始化和创建一个新的go.mod文件,手动创建go.mod文件再包含一些module声明也等同该命令,而go mod init命令便是帮我们简便操作,可以帮助我们自动创建。
2.download
代码:
go mod download
下载 go.mod 文件中指明的所有依赖,使用此命令来下载指定的模块,模块的格式可以根据主模块依赖的形式或者path@version形式指定。
3.tidy
代码:
go mod tidy
整理现有的依赖,使用此命令来下载指定的模块,并删除已经不用的模块
4.graph
代码:
go mod graph
查看现有的依赖结构,生成项目所有依赖的报告,但可读性太差,图形化更方便。
5.edit
代码:
go mod edit
编辑 go.mod 文件,之后通过 download 或 edit 进行下载
5.vendor
代码:
go mod vendor
导出项目所有的依赖到vendor目录,从mod中拷贝到项目的vendor目录下,IDE可以识别这样的目录。
5.verify
代码:
go mod verify
校验一个模块是否被篡改过,查询某个常见的模块出错是否已被篡改
5.why
代码:
go mod why
查看为什么需要依赖某模块,查询某个不常见的模块是否是哪个模块的引用
补充:golang开启mod后import报红解决
在golang中,开启mod模式后,import包变红,但是程序可以正常运行
如下所示:
猜测是索引路径出了问题,当前项目的依赖路径如下,可以看到只有sdk和GOPATH,没有go mod模块
新建go项目,然后老老实实的go mod init [项目名],然后go build拉包,一切正常,这时,在setting里再启用go mod勾选上
然后,奇迹出现了,我们的依赖中,多了一个go mod路径,这时原来报红的import路径消失了!!!
通过以上内容的阐述,相信大家对“Golang里面Go Mod命令有哪些,都有什么作用”已经有了进一步的了解,更多相关的问题,欢迎关注网络或到官网咨询客服。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Golang里面Go Mod命令有哪些,都有什么作用
本文地址: https://pptw.com/jishu/652538.html