Ton*_*niB 5 redis node.js hiredis
我已经阅读了有关ECONNREFUSED错误的stackoverflow上的所有其他线程但仍然无效.目前我正在研究Ubuntu 12.04.1 LTS
对于测试,我有这个非常简单的代码:
var redis = require("redis"),
client = redis.createClient(6379,"127.0.0.1");
redis.debug_mode = true;
client.on("connect", function () {
client.set("foo_rand000000000000", "some fantastic value");
});
Run Code Online (Sandbox Code Playgroud)
但每当我启动它时,我得到的只是ECONNREFUSED错误:
root@oncn05:~/ba# node test.js
hiredis parser not installed.
Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED
at RedisClient.on_error (/root/ba/node_modules/redis/index.js:196:24)
at Socket.<anonymous> (/root/ba/node_modules/redis/index.js:106:14)
at Socket.emit (events.js:67:17)
at Array.0 (net.js:319:25)
at EventEmitter._tickCallback (node.js:192:41)
root@oncn05:~/ba#
Run Code Online (Sandbox Code Playgroud)
问题是:连接到redis没问题redis-cli.
root@oncn05:~/ba# redis-cli
redis 127.0.0.1:6379>
Run Code Online (Sandbox Code Playgroud)
日志也没有显示任何可疑的内容.为什么甚至说没有安装hiredis解析器?我装了它npm install hiredis.但即使我没有.它甚至在哪里使用?
我感谢每一个帮助.
首先:感谢所有阅读和/或回答我的问题的人。
通常情况下,如果您传递 createClient 这些参数没有什么区别,因为 127.0.0.1:6379 是默认设置。
我意识到我有一个旧的node.js版本(0.6.xx),所以我决定完全删除它并重新安装它。
因此,首先我使用命令删除了节点sudo apt-get remove nodejs。之后我安装了新版本,如下所示:通过包管理器安装
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
Run Code Online (Sandbox Code Playgroud)
现在一切都按预期进行。我不知道为什么我没有早点想到这一点。
| 归档时间: |
|
| 查看次数: |
5340 次 |
| 最近记录: |