Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.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
Node.js Cloud9 IDE上Nodejs中的Redis:[错误:身份验证错误:未定义]_Node.js_Authentication_Redis_Cloud9 Ide - Fatal编程技术网

Node.js Cloud9 IDE上Nodejs中的Redis:[错误:身份验证错误:未定义]

Node.js Cloud9 IDE上Nodejs中的Redis:[错误:身份验证错误:未定义],node.js,authentication,redis,cloud9-ide,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 |

这是我的密码:

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和端口。但是,会出现错误
[error:Auth error:undefined]
,并在那里停止。我用谷歌搜索了错误,我使用的IDE的支持…,令人惊讶的是,只有7个链接指向我的问题。所以我认为这可能是我知识上的一个漏洞,或者这不是一个真正的问题,但我不知道如何解决它。我能从谷歌搜索结果中得到的只是(我不确定)我需要在创建它之后立即使用
client.auth(pass)
。但是我应该在哪里找到密码呢?当我安装它时,
npm安装redis
我没有配置任何东西,也没有被告知设置任何密码。所以我陷入了僵局

我使用Cloud9IDE(c9.io),使用的模块如上面代码所示

----致以最良好的祝愿,
----Tim。

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

 //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配置,请参见此链接

如果您在密码中提到requirepass,则表示您只需要这样做

         client.auth('urPwd');

否则就不需要调用client.auth方法。

我已经找到了问题所在

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

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

在Cloud9上安装Redis驱动程序

nada-nix install redis
为NodeJS安装Redis库

npm install redis

感谢所有试图帮助我的人。

请检查此示例。您提供的设置使node和redisClient使用相同的端口-8080。您启动的redis服务器的端口是什么?它们都侦听同一个端口
process.env.port=8080
,就像控制台建议的那样。它们应该在同一个港口运行吗?端口中不包含访问网站或在我的工作区中收听的链接,这意味着我别无选择,只能使用process.env.port和process.env.IP进行设置,这迫使他们收听相同的8080端口。这似乎是我需要的。但是我在哪里可以找到我的密码?我不知道文件放在哪里。当我尝试手动启动服务器时,
redis-server
,它显示
bash:redis-server:command未找到
。我很确定我安装了Redis。@cuzmAZN好的。你安装了Redis,这很好。你安装了Redis-server。这并不意味着你应该安装Redis服务器。。