2010-05-28 6 views
0

Je tentais ce code (obtenu à partir d'un article en ligne ici: http://www.randomhacks.net/articles/2009/05/08/chat-client-ruby-amqp-eventmachine-shoes)Ruby AMQP non initialisée erreur constante

 
require 'rubygems' 
gem 'amqp' 
require 'mq' 

unless ARGV.length == 2 
    STDERR.puts "Usage: #{$0} " 
    exit 1 
end 
$channel, $nick = ARGV 

AMQP.start(:host => 'localhost') do 
    $chat = MQ.topic('chat') 

    # Print any messages on our channel. 
    queue = MQ.queue($nick) 
    queue.bind('chat', :key => $channel) 
    queue.subscribe do |msg| 
    if msg.index("#{$nick}:") != 0 
     puts msg 
    end 
    end 

    # Forward console input to our channel. 
    module KeyboardInput 
    include EM::Protocols::LineText2 
    def receive_line data 
     $chat.publish("#{$nick}: #{data}", 
        :routing_key => $channel) 
    end 
    end 
    EM.open_keyboard(KeyboardInput) 
end 

Mais a fini par l'erreur suivante:

 
chat.rb:11:in `': uninitialized constant AMQP (NameError) 

Après cela, j'ai essayé exemple de code différent avec AMQP à mon dev env mais tout me montre cette erreur. Donc le problème n'est pas dans le code, le problème avec mes dev env. Quelqu'un peut-il me signaler les problèmes avec mes dev env. Merci d'avance.

Répondre

0

J'ai AMQP installé et intégré avec Ruby (via le lapin gem). Peut-être que je peux aider?

Il est très probable que l'installation gem n'ait pas pu compiler les bibliothèques amqp. Désinstallez la gemme et réinstallez, en regardant de très près les messages produits. Peut-être que vous ne manquez que quelques bibliothèques tierces.

Quelle plate-forme êtes-vous?

+0

Bonjour, je vais le réinstaller. Je suis sur Centos 5.4 – sparrow

+0

Bonne chance et poster ici si vous êtes coincé –

+0

je reçois la même erreur sur Ubuntu (précis). une chance de fixer cela? – Poul

Questions connexes