"go.etcd.io/etcd/clientv3/balancer/picker" - 未定义:balancer.PickOptions

"go.etcd.io/etcd/clientv3/balancer/picker" - undefined: balancer.PickOptions

我在 golang 中遇到以下错误

# go.etcd.io/etcd/clientv3/balancer/picker                                                   
/home/user/go/src/go.etcd.io/etcd/clientv3/balancer/picker/err.go:37:44: undefined: balancer.PickOptions                                                                              
/home/user/go/src/go.etcd.io/etcd/clientv3/balancer/picker/roundrobin_balanced.go:55:54: 
undefined: balancer.PickOptions                                                              
# go.etcd.io/etcd/clientv3/balancer/resolver/endpoint                                        
/home/user/go/src/go.etcd.io/etcd/clientv3/balancer/resolver/endpoint/endpoint.go:114:78:
 undefined: resolver.BuildOption                                                             
/home/user/go/src/go.etcd.io/etcd/clientv3/balancer/resolver/endpoint/endpoint.go:183:31:
 undefined: resolver.ResolveNowOption      

我试过了

go get -u google.golang.org/grpc

但仍然遇到同样的问题。我的grpc版本是v1.26.0

有什么解决办法吗?

您确定您的版本是 v1.26.0 吗? 你能分享你的 go.mod 吗?

go get -u google.golang.org/grpc

以上命令是获取最新版本的grpc,即v1.27.1

一旦您将 go.mod 中的版本从

更改为
google.golang.org/grpc v1.27.0

google.golang.org/grpc v1.26.0

您需要运行以下命令来锁定版本:

go get google.golang.org/grpc@v1.26.0