Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 未定义的方法';新';卡夫卡_Ruby_Apache Kafka - Fatal编程技术网

Ruby 未定义的方法';新';卡夫卡

Ruby 未定义的方法';新';卡夫卡,ruby,apache-kafka,Ruby,Apache Kafka,我正在尝试运行卡夫卡消费者示例,可在此处找到: 这是我正在尝试运行的程序: require "kafka" kafka = Kafka.new(["kafka1:9092", "kafka2:9092"]) # Create a new Consumer instance in the group `my-group`: consumer = kafka.consumer(group_id: "my-group") # Subscribe to a Kafka topic: consum

我正在尝试运行卡夫卡消费者示例,可在此处找到:

这是我正在尝试运行的程序:

require "kafka"

kafka = Kafka.new(["kafka1:9092", "kafka2:9092"])

# Create a new Consumer instance in the group `my-group`:
consumer = kafka.consumer(group_id: "my-group")

# Subscribe to a Kafka topic:
consumer.subscribe("messages")

# Loop forever, reading in messages from all topics that have been
# subscribed to.
consumer.each_message do |message|
  puts message.topic
  puts message.partition
  puts message.key
  puts message.value
  puts message.offset
end
但每当我运行此程序时,我都会得到错误:
example.rb:3:in'':卡夫卡的未定义方法“new”:模块(NoMethodError)

我在一些与完全不同的程序相关的问题中看到了
未定义方法“new”
的这种错误,但似乎无法找出错误所在,因为我没有覆盖kafka类或任何内容。我使用
sudo gem install kafka rb
kafka-rb-0.0.15版本在我的机器上安装了卡夫卡


有没有人知道为什么会出现这个问题以及如何解决这个问题

如评论中所述,您使用的是不再维护的
kafka rb
gem。但如果出于某种原因您想继续使用它,代码可能会如下所示:

require 'kafka'
consumer = Kafka::Consumer.new(topic: 'messages')
consumer.loop do |messages|
    puts "Received"
    puts messages
end

卡夫卡的未定义方法“new”:模块(NoMethodError)
:)和不一样。您正在使用
kafka-rb
并阅读
ruby-kafka
的文档。顺便说一句,我想转到
ruby-kafka
(上次提交2天前),因为
kafka-rb
似乎没有维护(上次提交2年前)@enginersmnky非常感谢您的帮助,我卸载了
kafka-rb
并安装了
ruby-kafka
,但现在我得到了错误
'require':无法加载这样的文件--kafka(LoadError)
,您知道如何解决此错误吗?@Catherine此错误与您发布的内容无关,除非您使用的是非常旧的ruby版本。在这种情况下,它可能是哈希语法,但根据发布的代码无法判断。@engineersmnky您的建议是我使用
ruby kafka
而不是
kafka rb
我假设您会遇到由于此更改而发生的后续错误,因此我询问此新错误的原因