找不到模块'socket.io/node_modules/redis'

时间:2014-07-26 21:32:47

标签: node.js redis socket.io

尝试时

var redis = require('socket.io/node_modules/redis');

我收到错误"找不到模块' socket.io/node_modules/redis"我无法弄清楚原因。我正在运行Windows并运行" npm install socket.io"

这似乎是同一个问题:Error: Cannot find module 'socket.io/node_modules/redis'但redis服务器已启动并正在运行。

在我的" socket.io/node_modules"文件夹我没有看到Redis相关的任何内容。

3 个答案:

答案 0 :(得分:5)

socket.io package.json没有显示对redis的依赖:

  "dependencies": {
    "engine.io": "Automattic/engine.io#15afd3",
    "socket.io-parser": "2.2.1",
    "socket.io-client": "Automattic/socket.io-client#05c9632",
    "socket.io-adapter": "0.2.0",
    "has-binary-data": "0.1.3",
    "debug": "0.7.4"
  }

无论哪种方式,都不需要直接依赖于另一个库的依赖关系。如果您需要在代码中使用redis,则可以使用以下命令安装redis并将其添加到package.json

npm install redis --save

并要求:

var redis = require('redis');

答案 1 :(得分:2)

您似乎正在使用Socket.IO 1.0。从1.0开始,不再存在redis依赖关系。您可以按照@ go-oleg的推荐并自行安装redis包。

答案 2 :(得分:0)

跑偏

npm install socket.io-redis --save

这将安装此npm软件包。我用了它,它起作用了。