关于go mod 如何使用,网上教程很多,这里主要记一下自己使用过程中遇到过的问题
go env 环境变量设置
GOPROXYGOPROXYgogo env -w GOPROXY=goproxy.cn,direct
新建一个项目文件夹
go mod init example.com
使用公有库文件
这个比较简单,在代码中引入某个文件,例如:import (github.com/*** ),使用 go mod tidy 或其它程序启动命令,gomod会自动下载该文件,路径为gobin目录下的pkg下的mod文件夹
使用私用库文件
在代码中引入某个私用库文件(该文件夹下必须也有go.mod文件才可以被引用),例如import (我自己的域名myprivate.com/***) ,使用go mod tidy 或其它程序启动命令,gomod就会自动下载该文件。
go env 环境变量
GOSUMDB="sum.golang.org"
# 指示校验和服务器的地址和公钥,若要关闭校验,GOSUMDB=off。
GOPRIVATE=""
# GOPRIVATE表示私有仓库。私有仓库下的所有依赖一律从源站下载,而且不做校验(如果设置私有仓库的话,下面这两个值为默认设为私有库地址)。
GONOPROXY=
# 不设置代理
GONOSUMDB=
# 不校验公钥
我这里放几个自己的错误提示
检查自己创建的 test_hy 文件(引入文件),发现go mod 文件命名为:test_hy
把引入的go.mod文件命名改为路径模式 devops.******/test_hy 此时再次尝试go mod tidy 问题解决
总结:引用的gomod文件命名必须和下载的路径一致
使用本地文件
例如:我在D:/新建一个项目命名为 example,然后D:/conf 里有example项目想用的方法或变量,
那怎么用呢?首先 保证 conf下有go.mod文件。然后再 example的go.mod文件的require里直接添加
conf v0.0.1 (这里注意版本是三位数字,写的时候可以注意观察,写到三位时vscode会提示颜色会变化) 再写上 replace conf => D:\conf
conf文件内容如图:
测试用文件内容如图: