动易手机网站,网站电子地图怎么做,红色大气网站,烟台放心的一站式网站建设在运行环境中#xff0c;遭遇报错#xff0c;显示找不到函数 经过研究后发现需要进行依赖管理#xff0c;进行如下操作后解决#xff1a;
起源
最早的时候#xff0c;Go所依赖的所有的第三方库都放在GOPATH这个目录下面。这就导致了同一个库只能保存一个版本的代码。如…在运行环境中遭遇报错显示找不到函数 经过研究后发现需要进行依赖管理进行如下操作后解决
起源
最早的时候Go所依赖的所有的第三方库都放在GOPATH这个目录下面。这就导致了同一个库只能保存一个版本的代码。如果不同的项目依赖同一个第三方的库的不同版本就需要进行依赖管理
go module
go module是Go1.11版本之后官方推出的版本管理工具并且从Go1.13版本开始go module将是Go语言默认的依赖管理工具。
GO MODULE
要启用go module支持首先要设置环境变量GO MODULE通过它可以开启或关闭模块支持它有三个可选值off、on、auto默认值是auto。
GO MODULEoff禁用模块支持编译时会从GOPATH和vendor文件夹中查找包。
GO MODULEon启用模块支持编译时会忽略GOPATH和vendor文件夹只根据 go.mod下载依赖。
GO MODULEauto当项目在$GOPATH/src外且项目根目录有go.mod文件时开启模块支持。操作如下
# 临时开启 Go modules 功能
export GO111MODULEon
# 永久开启 Go modules 功能
go env -w GO111MODULEon# 设置 Go 的国内代理方便下载第三方包
go env -w GOPROXYhttps://goproxy.cn,direct简单来说设置GO MODULEon之后就可以使用go module了以后就没有必要在GOPATH中创建项目了并且还能够很好的管理项目依赖的第三方包信息。
使用 go module 管理依赖后会在项目根目录下生成两个文件go.mod和go.sum。
设置后可以查看确认
wohuwohu-dev:~$ go env
GO111MODULEon
.....
GOPROXYhttps://goproxy.cn,direct
.....
wohuwohu-dev:~$
go 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 解释为什么需要依赖