redis / node-redis

Redis Node.js client

Home Page:https://redis.js.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

redis@4.6.0 breaks support for < node 16, < node 14.18

stellar-scottreed opened this issue · comments

Description

Version v14.18 and v16 of node added support for the "node:" protocol for importing native node modules. This is made use of in this PR: #2373

This update breaks any application utilizing redis@4.6.0 on a node version prior to 16, 14.18. I think an update requiring an update to your node version should potentially be released as a major version and not minor?

Node.js Version

14.30

Redis Server Version

7.0.8

Node Redis Version

4.6.0

Platform

macOS

Logs

`% node test.js
internal/modules/cjs/loader.js:1032
  throw err;
  ^

Error: Cannot find module 'node:util'
Require stack:
- /Users//src/core/node_modules/@redis/client/dist/lib/cluster/cluster-slots.js
- /Users//src/core/node_modules/@redis/client/dist/lib/cluster/index.js
- /Users//src/core/node_modules/@redis/client/dist/index.js
- /Users//src/core/node_modules/redis/dist/index.js
- /Users//src/core/test.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:1029:15)
    at Function.Module._load (internal/modules/cjs/loader.js:898:27)
    at Module.require (internal/modules/cjs/loader.js:1089:19)
    at require (internal/modules/cjs/helpers.js:73:18)
    at Object.<anonymous> (/Users//src/core/node_modules/@redis/client/dist/lib/cluster/cluster-slots.js:17:21)
    at Module._compile (internal/modules/cjs/loader.js:1200:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1220:10)
    at Module.load (internal/modules/cjs/loader.js:1049:32)
    at Function.Module._load (internal/modules/cjs/loader.js:937:14)
    at Module.require (internal/modules/cjs/loader.js:1089:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/Users//src/core/node_modules/@redis/client/dist/lib/cluster/cluster-slots.js',
    '/Users//src/core/node_modules/@redis/client/dist/lib/cluster/index.js',
    '/Users//src/core/node_modules/@redis/client/dist/index.js',
    '/Users//src/core/node_modules/redis/dist/index.js',
    '/Users//src/core/test.js'
  ]
}

The support for node 12 was dropped in the last version already but I'll remove the node: prefix anyway just to make sure..

Version 4.6.1 is on npm. Sorry about that.

@leibale not a node 12 issue, we use node 14.30, all node 14 minor versions before 14.18 would not have node: prefix support. I believe this would have potentially affected node 15 too, though I'm not sure.

thank you for the fix!