0

我正在尝试这段代码(来自这里的在线文章:http ://www.randomhacks.net/articles/2009/05/08/chat-c​​lient-ruby-amqp-eventmachine-shoes )

需要“红宝石”
宝石'amqp'
需要'MQ'

除非 ARGV.length == 2
  STDERR.puts “用法:#{$0}”
  1号出口
结尾
$channel, $nick = ARGV

AMQP.start(:host => 'localhost') 做
  $chat = MQ.topic('聊天')

  # 打印我们频道上的任何消息。
  队列 = MQ.queue($nick)
  queue.bind('chat', :key => $channel)
  queue.subscribe 做 |msg|
    如果 msg.index("#{$nick}:") != 0
      放味精
    结尾
  结尾

  # 将控制台输入转发到我们的频道。
  模块键盘输入
    包括 EM::Protocols::LineText2
    def receive_line 数据
      $chat.publish("#{$nick}: #{data}",
                    :routing_key => $channel)
    结尾
  结尾
  EM.open_keyboard(键盘输入)
结尾

但最终出现以下错误:

chat.rb:11:in `': 未初始化的常量 AMQP (NameError)

之后,我在我的开发环境中使用 AMQP 尝试了不同的示例代码,但都显示了该错误。所以问题不在于代码,而在于我的开发环境。谁能指出我的开发环境的问题。提前致谢。

4

1 回答 1

0

我安装了 AMQP 并与 Ruby 集成(通过 bunny gem)。也许我可以帮忙?

gem install 很可能无法编译 amqp 库。卸载 gem 并重新安装,仔细查看产生的消息。可能您只是缺少一些第三方库。

你在哪个平台?

于 2010-05-28T09:44:10.717 回答