我需要将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 不是一个函数
Node redis 依赖于 Nodejs 的核心
net
库。
通过安装 npm 库
"net": "^1.0.2"
,您将用另一个库替换底层核心库。不知道你为什么要安装这个库,它显然已经过时了,上次发布是 10 年前。
一般来说,只需从 package.json 中删除此依赖项,重新运行 npm install 就可以解决您的 redis 问题。
您可以使用网络库发布代码,以便我们可以解决它吗?如果您的应用程序有必要,也许您应该尝试使用一些依赖项别名。这样它就不会具有相同的保留核心库名称。
"dependencies": {
"custom-name": "npm:net@^1.0.2",
}