输入导入条件后,直接运行“go mod tidy ”,可以关联相应的包提示文件。
一.go mod
关于gomod的使用:
1.查看可下载的软件包:
查看可下载版本mod
go list -m -versions github.com/gogf/gf
示例:查询以web的版本,“github.com/gin-gonic/gin”,的版本;
E:\web1Gin>go list -m -versions github.com/gin-gonic/gin
下面是查询出来的版本:
github.com/gin-gonic/gin v1.1.1 v1.1.2 v1.1.3 v1.1.4 v1.3.0 v1.4.0 v1.5.0 v1.6.0 v1.6.1 v1.6.2 v1.6.3 v1.7.0 v1.7.1 v1.7.2
E:\htcode\goModPm\webLab\web1Gin>
示例2.mysql版本的检查以及下载相应的版本:
go list -m -versions github.com/go-sql-driver/mysql
github.com/go-sql-driver/mysql v1.0.0 v1.0.1 v1.0.2 v1.0.3 v1.1.0 v1.2.0 v1.3.0 v1.4.0 v1.4.1 v1.5.0 v1.6.0
下载v1.5
下面的是gomod文件,你如果需要相应的版本,直接修改版本号就行,然后运行程序,程序自动从github上下载相应的软件包。
这里我把原来的’/mysql v1.6.0‘修改成为’/mysql v1.5.0‘版本。
module ginLab
go 1.15
require (
github.com/gin-gonic/gin v1.7.2 // indirect
github.com/go-sql-driver/mysql v1.5.0 // indirect
github.com/mattn/go-sqlite3 v1.14.7 // indirect
)
2.修改god-mod文件,修改相应版本,运行程序,将自动下载相应的包版本文件。
二.常用的go mod命令如下:
go mod download 下载依赖的module到本地cache(默认为$GOPATH/pkg/mod目录)
go mod edit 编辑go.mod文件
go mod graph 打印模块依赖图
go mod init 初始化当前文件夹, 创建go.mod文件
go mod tidy 增加缺少的module,删除无用的module
go mod vendor 将依赖复制到vendor下
go mod verify 校验依赖
go mod why 解释为什么需要依赖
go-mdule模块说明:
module
用来定义包名
require
用来定义依赖包及版本
indirect
表示间接引用
关于下载更新包的操作:
在项目中执行
go get
命令可以下载依赖包,并且还可以指定下载的版本。
运行
go get -u
将会升级到最新的次要版本或者修订版本(x.y.z, z是修订版本号, y是次要版本号)
运行
go get -u=patch
将会升级到最新的修订版本
运行
go get package@version
将会升级到指定的版本号version
如果下载所有依赖可以使用
go mod download命令。
新项目的操作步骤:
对于一个新创建的项目,我们可以在项目文件夹下按照以下步骤操作:
1.执行go mod init ’项目名‘
命令,在当前项目文件夹下创建一个go.mod文件。
2.手动编辑
go.mod中的require依赖项或执行
3.go get
自动发现、维护依赖。
4.写完代码后执行“go mod tidy”
go mod tidy 命令也是一个很好的主意。这个命令会对 go modules 的依赖配置文件进行整理,添加那些实际在用的依赖项,并去除那些未用的依赖项。换句话说,它会确保项目的依赖配置文件与项目源码的实际依赖相对应。
常用功能:
输入导入条件后,直接运行“go mod tidy ”,可以关联相应的包提示文件。
go mod tidy
go mod init:初始化go mod, 生成go.mod文件,后可接参数指定 module 名。
go mod download:手动触发下载依赖包到本地
cache(默认为 $GOPATH/pkg/mod目录)go list -m -json all:以 json 的方式打印依赖详情