引入node-redis后出现SyntaxError:Invalid or unexpected token求助
解决Node.js 14.17.3下node-redis的SyntaxError问题
问题原因
你安装的最新版node-redis(v4+)依赖的@redis/client包使用了Node.js 16及以上版本才完全兼容的语法特性。尽管Node.js 14.17.3支持??空值合并运算符,但该包的底层类私有字段调用逻辑在Node.js 14环境中存在兼容性问题,且官方已停止为Node.js 14提供v4版本的支持。
解决方案
方案1:升级Node.js版本
将Node.js升级到16.x LTS或更高版本,即可完全兼容最新版的node-redis,无需修改现有代码。
方案2:降级node-redis到v3.x版本
如果无法升级Node.js,可降级至支持Node.js 14的node-redis v3.x系列:
- 卸载当前版本:
npm uninstall redis
- 安装v3版本:
npm install redis@3
- 注意v3版本的API与v4存在差异,创建客户端的代码需调整为:
const redis = require('redis'); const client = redis.createClient();
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

