go module的使用:

简介: go module的使用:

Module模块用于go的版本管理,可以脱离gopath的路劲限制,未来有望替代go - vendor包

具体使用步骤:

1)首先确保go版本>=1.11

2)去到工程(假如加”hello“)根目录下面,执行 go mod init xx.xx.com 命令生成一个go.mod文件,命名格式一般为:公司.项目.com

      注:这个的命名要求一定是域名方式,其他的后续会出错。再就是,如果go.mod已经生成了,先要删除

3)执行go mod tidy命令,它会添加缺失的模块以及移除不需要的模块。执行成功会生成go.sum文件

      注:在添加google那边包时,可能出现下载不下来的情况,这是因为中国屏蔽导致。解决方式是设置:export GOPROXY=https://goproxy.io

             然后再次执行go mod tidy

4)执行命令go mod verify来检查当前模块的依赖是否全部下载下来,是否下载下来被修改过。如果所有的模块都没有被修改过,那么执行这条命令之后,会打印all modules verified。

5)执行命令go mod vendor生成vendor文件夹,该文件夹下将会放置你go.mod文件描述的依赖包,文件夹下同时还有一个文件modules.txt,它是你整个工程的所有模块。

             在执行这条命令之前,如果你工程之前有vendor目录,应该先进行删除。同理go mod vendor -v会将添加到vendor中的模块打印出来;


4、go test测试单个文件和测试单个函数

1、测试单个文件指令

     go test -v xxx.go xx.go

2、测试单个方法

      go test -v -test.run 函数


相关文章
|
4月前
|
存储 Linux Go
GO 项目依赖管理:go module总结
GO 项目依赖管理:go module总结
68 0
|
1月前
|
存储 缓存 算法
go vendor module
go vendor module
|
2月前
|
存储 Go
Golang语言基于go module方式管理包(package)
这篇文章详细介绍了Golang语言中基于go module方式管理包(package)的方法,包括Go Modules的发展历史、go module的介绍、常用命令和操作步骤,并通过代码示例展示了如何初始化项目、引入第三方包、组织代码结构以及运行测试。
46 3
|
3月前
|
IDE Go 开发工具
Go Error module declares its path as but was required as解决方案
文章提供了一个解决方案,用于处理在Go工程中将依赖的仓库从A更换为B(即使它们完全相同)时遇到的路径声明错误,建议通过发布新版本来解决此问题。
81 0
go: finding module for package
go: finding module for package
105 0
|
存储 缓存 Go
为什么应该使用 Go module proxy
为什么应该使用 Go module proxy
157 0
|
缓存 IDE Go
记一次go module的坑
事情是这样的,因为小马本次要写一个go项目。但是因为一些权限问题,一些依赖包在内网小马获取不到,于是只能求助大大。大大给的策略就是他先把所有的依赖包go mod,然后go mod vendor迁移到项目目录vendor下进行本地依赖载入即可,也就是使用 go build -mod=vendor来编译即可。一切似乎看起来还是那么完美。然后正要起飞,直接翻车,现场如下。【这里插播一条发现,就是使用golang IDE go build 和使用命令行go build 的区别在于前者不会生成.exe文件】
417 0
记一次go module的坑
|
Go
【golang】解决:missing go.sum entry for module providing package
【golang】解决:missing go.sum entry for module providing package
1608 0
|
存储 算法 Go
Go的Module不会,证明你实力就那样吧
Go的Module不会,证明你实力就那样吧
|
Go API 开发工具
Go Module 语义化版本规范
Go Module 语义化版本规范
129 0