Ruby - Zookeeper gem版本参数数错误(3 for 4) (ArgumentError)



我已经安装了ruby 2.0.0p195和以下gem

gem install net-ssh
gem install rdoc
gem install zookeeper
Ruby Zookeeper client installed successfully (ver - 1.4.4)

但是当我执行示例ruby脚本检查节点是否存在并在zookeeper上创建节点时:

require 'rubygems'
require 'zookeeper'
z = Zookeeper.new("localhost:2181")
if !z.exists("/app", :watch => true)
        z.create("/app","app root node",:mode => :ephemeral)
end
z.get_children(:path => "/")

…它抛出以下错误。

zookeeper-1.4.4/lib/zookeeper/continuation.rb:172:in `zkrb_exists': wrong number of arguments (3 for 4) (ArgumentError)
    from .rvm/gems/ruby-2.0.0-p195/gems/zookeeper-1.4.4/lib/zookeeper/continuation.rb:172:in `submit'
    from .rvm/gems/ruby-2.0.0-p195/gems/zookeeper-1.4.4/ext/c_zookeeper.rb:303:in `submit_pending_calls'
    from .rvm/gems/ruby-2.0.0-p195/gems/zookeeper-1.4.4/ext/c_zookeeper.rb:261:in `event_thread_body'
谁能帮我解决这个问题?

需要"rubygems"

需要"zk"

zk = zk .new

zk .open('localhost:2181') do |zk如果! zk.exists ?(/根)

   zk.create("/root", :data => "foo")

结束

结束

开始使用zk而不是zookeeper gems。

现在工作正常,但不确定上述参数错误的确切解决方案。

使用ZK,它更加友好并且文档齐全。ZK是用于编写应用程序的。

最新更新