Node.js 未调用节点amqp交换回调

Node.js 未调用节点amqp交换回调,node.js,rabbitmq,node-amqp,Node.js,Rabbitmq,Node Amqp,我有以下代码。我的节点版本是v0.7.0-pre。当我运行代码时,屏幕会打印出来 Setup Completed setup 它不会打印Exchange回调消息。当我运行 rabbitmqctl --list_exchanges 命令我看到创建了新的exchange,但没有调用回调。我查看了测试用例,但这似乎不是一个覆盖的用例。让我知道这是否是一个错误,如果有一个解决办法 var util= require('util') var amqp = require('amqp'); f

我有以下代码。我的节点版本是v0.7.0-pre。当我运行代码时,屏幕会打印出来

 Setup
 Completed setup
它不会打印Exchange回调消息。当我运行

rabbitmqctl --list_exchanges  
命令我看到创建了新的exchange,但没有调用回调。我查看了测试用例,但这似乎不是一个覆盖的用例。让我知道这是否是一个错误,如果有一个解决办法

var util= require('util')
var amqp = require('amqp');

function setup() {
  console.log("Setup");
  var exchange = conn.exchange('cf1-demo',
    {'type': 'fanout', durable: false},
    function() {
    console.log("Exchange Callback");
 });
 console.log("Completed setup %s", exchange.name);
}
var conn = amqp.createConnection({host:'localhost',
                                    login:'guest',
                                    password:'guest'},
                             {defaultExchangeName: "cf1-demo"});
conn.on('ready',setup);

这是旧版本的节点amqp的一个问题。就我所知,npm安装似乎存在问题

我很想回答这个问题,但不幸的是,您给我的代码在我的机器上运行良好,并给出以下输出:
安装完成安装cf1演示交换回调
您的代码没有问题,如@mattbornski所述。这可能是关于节点版本的一些警告——可能由于api更改或其他原因,插件不支持最新的不稳定版本。它肯定与node 0.6.8和amqp 0.1.1一起工作。我正在运行Ubuntu11.04 x86_64。当我运行rabbitmqctl报告时,我看到rabbitMQ版本为2.7.1。我将我的节点更改为nodev0.6.8,但仍然得到相同的行为。我不知道如何找到amqp的版本您将在
npm ls
output或模块相关的
package.json
文件中看到amqp版本。顺便说一下,我的RabbitMQ版本是2.7.1。代码在Ubuntux86_64中进行了测试:10.10和11.10。谢谢,我的amqp版本是0.0.2。让我获取最新版本并更新结果。我以为我是npm安装了amqp。有不同的方法吗?