redis:net.connect 不是一个函数

问题描述 投票:0回答:1

我需要将Redis添加到nodejs 但无法顺利执行

使用redis版本,相同的代码,但出现此错误:

我的代码:

import { createClient } from 'redis'

export const client = createClient({
    socket: {
    host: "localhost",
    port: 6379
   },
  });

await client.connect();
console.log("client.isOpen: " + client.isOpen)

错误:

socket.js:199 Uncaught (in promise) TypeError: net.connect is not a function
at RedisSocket._RedisSocket_createNetSocket (socket.js:199:17)
at eval (socket.js:175:346)
at new Promise (<anonymous>)
at RedisSocket._RedisSocket_createSocket (socket.js:171:10)
at RedisSocket._RedisSocket_connect (socket.js:148:148)
at RedisSocket.connect (socket.js:55:92)
at Commander.connect (index.js:196:66)
at eval (index.js:10:1)
at __webpack_require__.a (app.js:814:13)
at eval (index.js:1:21)

我的package.json:

  "dependencies": {
  "-": "^0.0.1",
  "axios": "^1.6.3",
  "connect-redis": "^7.1.0",
  "core-js": "^3.8.3",
  "crypto-browserify": "^3.12.0",
  "dayjs": "^1.11.10",
  "for": "^0.0.1-dev.0",
  "install": "^0.13.0",
  "net": "^1.0.2",
  "node-polyfill-webpack-plugin": "^3.0.0",
  "node-redis": "^0.1.7",
  "redis": "^4.6.12",
  "stream-browserify": "^3.0.0",
  "tls": "^0.0.1",
  "url": "^0.11.3",
  "util": "^0.12.5",
  "vue": "^3.2.13",
  "vue-router": "^4.2.5"
 },

请求帮助

使用redis 3.1.2 但 net.is-ip 不是一个函数

javascript node.js vue.js redis node-redis
1个回答
0
投票

Node redis 依赖于 Nodejs 的核心

net
库。

这是文档

通过安装 npm 库

"net": "^1.0.2"
,您将用另一个库替换底层核心库。不知道你为什么要安装这个库,它显然已经过时了,上次发布是 10 年前。

一般来说,只需从 package.json 中删除此依赖项,重新运行 npm install 就可以解决您的 redis 问题。

您可以使用网络库发布代码,以便我们可以解决它吗?如果您的应用程序有必要,也许您应该尝试使用一些依赖项别名。这样它就不会具有相同的保留核心库名称。

"dependencies": {
  "custom-name": "npm:net@^1.0.2",
}
© www.soinside.com 2019 - 2024. All rights reserved.