现在高版本的golang(比如1.14)使用go mod进行包管理,虽然比之前的方式规范了一些,但是对于刚接触的人来说,确实有很多坑需要踩.之前用golang1.11用的挺好的,本地库也都是老版本的包,突然升级一些包,然后这些包里面用到了go mod,一下子发现很多包压根找不到了,因为go mod是语义化的版本,有的根本不存在
undefined: balancer.PickOptions
这个问题的根本就是包冲突了,使用go get命令会自动获取最新的包.
在go.mod文件最后增加下面的replace就可以了.
replace google.golang.org/grpc => google.golang.org/grpc v1.26.0
链接: https://studygolang.com/articles/28715?fr=sidebar