davissp14 / etcdv3-ruby

Etcd v3 Ruby Client
MIT License
52 stars 17 forks source link

google-protobuf 4.x doesn't support this gem #143

Open xiaohui-zhangxh opened 3 months ago

xiaohui-zhangxh commented 3 months ago
irb(main):003:0> require 'etcdv3'
/usr/local/bundle/gems/etcdv3-0.11.6/lib/etcdv3/etcdrpc/kv_pb.rb:6:in `<top (required)>': undefined method `build' for #<Google::Protobuf::DescriptorPool:0x000072ef554d2f58> (NoMethodError)

Google::Protobuf::DescriptorPool.generated_pool.build do
                                               ^^^^^^
    from /usr/local/bundle/gems/etcdv3-0.11.6/lib/etcdv3/etcdrpc/rpc_pb.rb:6:in `require_relative'
    from /usr/local/bundle/gems/etcdv3-0.11.6/lib/etcdv3/etcdrpc/rpc_pb.rb:6:in `<top (required)>'
    from /usr/local/bundle/gems/etcdv3-0.11.6/lib/etcdv3/etcdrpc/rpc_services_pb.rb:5:in `require_relative'
    from /usr/local/bundle/gems/etcdv3-0.11.6/lib/etcdv3/etcdrpc/rpc_services_pb.rb:5:in `<top (required)>'
    from <internal:/usr/local/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
    from <internal:/usr/local/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
    from /usr/local/bundle/gems/etcdv3-0.11.6/lib/etcdv3.rb:4:in `<top (required)>'
    from <internal:/usr/local/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
    from <internal:/usr/local/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
    from (irb):3:in `<main>'
    from /usr/local/lib/ruby/gems/3.2.0/gems/irb-1.6.2/exe/irb:11:in `<top (required)>'
    from /usr/local/bin/irb:25:in `load'
    from /usr/local/bin/irb:25:in `<main>'

to fix this, has to uninstall grpc and google-protobuf , reinstall grpc -v 1.64.0

gem uninstall grpc
gem uninstall google-protobuf
gem install grpc -v 1.64.0