尝试时
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相关的任何内容。
答案 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软件包。我用了它,它起作用了。