Red9在Cloud9 IDE上的Nodejs中:[错误:验证错误:未定义]

时间:2013-09-05 08:24:31

标签: node.js authentication redis cloud9-ide

这是我的代码:

var express = require("express"),
    app = express(),
    server = require("http").createServer(app),
    io = require("socket.io").listen(server),
    redis = require("redis"),
    env = {PORT: process.env.PORT || 8080, IP: process.env.IP || "localhost"};

client = redis.createClient(env.PORT , env.IP);
client.on("error", function(err) {
    console.log(err);
});

server.listen(env.PORT);
console.log("Server started @ " + env.IP + ":" + env.PORT);

尝试跑步后,我在控制台上收到了以下内容:

Running Node Process
Your code is running at 'http://modified.address.c9.io'.
Important: use 'process.env.PORT' as the port and 'process.env.IP' as the host in your scripts!
info: socket.io started
Server started @ modified.ip.address.1:8080
[Error: Auth error: undefined]

我尝试建立连接,它完美地连接到IP和PORT。但是,错误[Error: Auth error: undefined]出现并停在那里。我用Google搜索了错误,我使用的IDE的支持......,令人惊讶的是,我的问题只有7个链接。所以我认为这可能是我所知道的一个漏洞,或者它并不是一个真正的问题,而是我不知道要解决的问题。我可以从那些谷歌搜索结果中得出结论(我不确定)我需要在创建后立即使用client.auth(pass)。但是我应该在哪里找到密码?当我安装npm install redis时,我没有配置任何东西,也没有被告知设置密码。所以我陷入了僵局。

我使用Cloud9 IDE(c9.io),以及上面代码中显示的模块。

----最诚挚的问候, ----添

2 个答案:

答案 0 :(得分:1)

我发现了什么问题。

我确实安装了Redis,但这是一个Redis库,就像Redis驱动程序和NodeJS之间的桥梁。在Cloud9上,我也必须手动安装Redis。

因此实际安装Redis需要2个命令:

在Cloud9上安装Redis驱动程序

nada-nix install redis

为NodeJS安装Redis库

npm install redis

感谢任何想帮助我的人。

答案 1 :(得分:0)

您可以使用自己的配置文件运行redis-server。您可以创建自己的配置,如下所示。

 //port and ip of ur redis server
  port 6371
  bind 127.0.0.1
  //password for this server
  requirepass ucanmentionurpwd
  //storing snapshots of the data 
  save 60 1
  dbfilename dump.rdb
  dir /tmp/db

  //starting redis server
   redis-server //ur config file location

请参阅此链接以获取redis配置  https://raw.github.com/antirez/redis/2.6/redis.conf

如果您提及您的密码requirepass,则仅表示您需要

         client.auth('urPwd');

否则无需调用client.auth方法。