*go 语言下的go mod 问题*
我直接拷贝了一个工程文件 test,test文件夹结构如下
--goproject
--pkg
--mod
--src
--test
--cmd
--device-simple
--main.go
--driver
--makefile
GOPATH的设置为 goproject (建议每个go项目一个单独的文件夹,互不干扰,GOPATH设置为src的上一级目录)
此时我们看到这个文件夹是没有go.mod 和go.sum文件的
新建go.mod文件
go mod init
如果报错,用go env命令查看GO111MODULE, 如果没有开启,打开GO111MODULE
export GO111MODULE=on
go mod init命令输入后会产生一个go.mod文件
输入命令
go mod tidy
此时看到在不断拉取文件至pkg/mod文件夹下
然后make build 构建项目报错。
此时报错需要考虑版本问题,由于go.mod内的都是最新的版本,所以导致某些函数不能用,需要退回到较老的版本。此时修改go.mod内的版本号,选用合适的版本。重新go mod tidy。
其实一般从git上clone到本地的项目都带有自己的go.mod和go.sum,此时直接go mod tidy就行,千万不要自己手动删除。
希望遇到的小伙伴早日避开这个坑。
最近在学EdgexFoundry这个项目,有一起学习的小伙伴可以私信我,发微信,然后拉进群里。