模块“'redis'”没有导出成员“RedisClient”。

7
我正在使用Typescript创建一个多节点的Express/Socket.io服务器,并尝试从redis中导入RedisClient,但是由于出现错误,我无法让它正常工作:

模块“redis”没有导出成员“RedisClient”

看起来它正在尝试从以下位置检索:

node_modules/redis/dist/index

但实际上它在这里:

node_modules/@types/redis"

我该如何从正确的位置导入它?

1
我最终将文件“node_modules/@types/redis”中的内容复制并粘贴到“node_modules/redis/dist/index”文件的末尾。这解决了问题,但我相信这不是可持续的解决方案。我希望有更好的解决方案。 - Rookie
2个回答

3

看起来Redis包最近已经正式更新到v4,引入了一些重大变更,包括几个接口的改变。

我建议暂时使用v3版本,直到所有依赖项(包括@types/redis)都得到适当更新:

npm install redis@3

1

经过一段时间的检查,我意识到事情已经改变,文档说明现在不需要使用RedisClient。现在你需要使用:

import { createClient } from "redis";

现在的情况是这样的:

const pubClient = createClient({ url: `redis://<path to redis>:6379` });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接