原因
只要报找不到包的问题,基本都是在设定的路径中查找包的时候没有找到包导致的。找不到包的原因有两种,一种是路径确实没有设置好导致的找不到包,另一种是因为gopath和gomod混用导致。golang做包管理有两种方式,分别是gopath和gomod,这两种是互斥的,不可混用。
解决方案
golang是根据环境变量中的GO111MODULE开关来判断当前是使用的哪种方式来做包管理(可以使用go env查看该参数的值)。
设置GO111MODULE命令
开启gomod模式:go env -w GO111MODULE=on
关闭gomod模式:go env -w GO111MODULE=off
方案一:gomod方式做包管理
若GO111MODULE=on则表示使用的是gomod来做包管理,这时候需要在项目根路径下配置一个gomod文件并在其中配置包路径,这时项目查找包路径会到该路径下查找。
gomod生成方式
1、生成gomod文件
命令:go mod init moduleName
举例:go mod init demo
#moduleName:模块名,后续项目下面的包路径都需要在这个模块名之后,