go build 时提示 cannot find module providing package XXX
例如:
解决方法:
在上级目录建立go.mod管理
>go mod init go-eval
>go mod edit -require github.com/sbinet/go-eval
原因:
使用 GOPROXY 的时候,开启了 GO111MODULE 。
在GO111MODULE=off时,go get下载在$GOPATH/src下,go build时 会在$GOROOT/src或$GOPATH/src下查找包,
但当GO111MODULE=on时,go get下载到$GOPATH/pkg/mod下,go build时$GOPATH不在和包导入有关,需要使用 go.mod进行模块管理
- 可以使用go help modules 查看GO111MODULE=on时下载路径