语法错误:连接到redis集群时出现意外的标记“.”

1tuwyuhd  于 2023-06-21  发布在  Redis
关注(0)|答案(1)|浏览(142)

下面是redis企业中提供的连接到其数据库的代码。
index.js

import { createCluster } from 'redis';
import { readFileSync } from 'fs';

const cluster = createCluster({
    rootNodes: [{
            url: 'rediss://redis.cloud.com:6379'
            }],
    defaults: {
            password: 'abc',
        socket: {
        tls: true,
            ca: [readFileSync('~/redis_ca.pem')]
        }}});

下面是package.json

{
  "name": "redis-demo",
  "version": "1.0.0",
  "description": "",
  "main": "redis-demo.js",
  "type": "module",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "run": "node index.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "redis": "^4.6.7"
  }
}

当我运行这个代码使用命令node index.js我得到下面的错误-
$ node index.js
/home/rnatarajan/node-redis-demo/node_modules/redis/dist/index.js:42

...options?.modules

                  ^

语法错误:意外标记“。”
at wrapSafe(internal/modules/cjs/loader.js:915:16)
at Module._compile(internal/modules/cjs/loader.js:963:27)
在Object.Module._extensions..js(internal/modules/cjs/loader.js:1027:10)
at Module.load(internal/modules/cjs/loader.js:863:32)
at Function.Module._load(internal/modules/cjs/loader.js:708:14)
在ModuleWrap(internal/modules/esm/translators.js:188:29)
网址:ModuleJob.run(internal/modules/esm/module_job.js:145:37)
at async Loader.import(internal/modules/esm/loader.js:182:24)
at async Object.loadESM(internal/process/esm_loader.js:68:5)
如何修复此错误?
节点版本-

$ node --version
v12.22.9
ep6jt1vc

ep6jt1vc1#

我需要最新版本的Node。升级到节点v18.3.0解决了此问题。

相关问题