undefined: resolver.BuildOption
在用clientv3連接etcd時。
遇到一個坑,略記錄一下,其報錯如下:
C:\Users\anmut\go\pkg\mod\github.com\coreos\etcd@v3.3.22+incompatible\clientv3\balancer\resolver\endpoint\endpoint.go:114:78: undefined: resolver.BuildOption C:\Users\anmut\go\pkg\mod\github.com\coreos\etcd@v3.3.22+incompatible\clientv3\balancer\resolver\endpoint\endpoint.go:182:31: undefined: resolver.ResolveNowOption # github.com/coreos/etcd/clientv3/balancer/picker C:\Users\anmut\go\pkg\mod\github.com\coreos\etcd@v3.3.22+incompatible\clientv3\balancer\picker\err.go:37:44: undefined: balancer.PickOptions C:\Users\anmut\go\pkg\mod\github.com\coreos\etcd@v3.3.22+incompatible\clientv3\balancer\picker\roundrobin_balanced.go:55:54: undefined: balancer.PickOptions
查了下
大概是說原因是google.golang.org/grpc 1.26后的版本是不支持clientv3的。
也就是說要把這個改成1.26版本的就可以了。
具體操作方法是在go.mod里加上:
replace google.golang.org/grpc => google.golang.org/grpc v1.26.0
也就是這樣:
接着跑就會發現成功了。不會出錯了。你看: