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 函数


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