- Published on
Error: The module was compiled against a different Node.js version. Please try re-compiling or re-installing the module
- Authors

- Name
- Rahul kadam
- @rahul_jalindar
Last Modified : Wednesday, Aug 21, 2024
Error
Error: The module '/home/ubuntu/node_modules/bcrypt/lib/binding/bcrypt_lib.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 93. This version of Node.js requires NODE_MODULE_VERSION 108. Please try re-compiling or re-installing the module (for instance, using 'npm rebuild' or 'npm install'). at Module._extensions..node (node:internal/modules/cjs/loader:1460:18) at Module. load (node: internal/modules/cjs/loader:1203:32) at Module._load (node:internal/modules/cjs/loader:1019:12) at Module.require (node:internal/modules/cjs/loader:1231:19) at Hook._require.Module.require (/usr/lib/node_modules/pm2/node_modules/require-in-the-middle/index.js:101:39) at require (node: internal/modules/helpers:177:18) Object. <anonymous> Module._compile (/home/ubuntu/node_modules/bcrypt/bcrypt.js:6:16) (node:internal/modules/cjs/loader:1364:14) at Module._extensions..js (node:internal/modules/cjs/loader:1422:10) at Module.load (node:internal/modules/cjs/loader: 1203:32) Module._load (node:internal/modules/cjs/loader:1019:12) Module.require (node:internal/modules/cjs/loader:1231:19) at Hook._require.Module.require (/usr/lib/node_modules/pm2/node_modules/require-in-the-middle/index.js:101:39) at require (node: internal/modules/helpers:177:18) Object. <anonymous> (/home/ubuntu/server/controller/api/forgotPasswordAPI.js:3:16) Module._compile (node:internal/modules/cjs/loader: 1364:14) at Module._extensions..js (node:internal/modules/cjs/loader:1422:10) at Module.load (node:internal/modules/cjs/loader: 1203:32) at Module._load (node:internal/modules/cjs/loader:1019:12) Modue regunre node.internal modules/ens/ozder.1231.191 at Hook._require.Module.require (/usr/Lib/node_modules/pm2/node_modules/require-in-the-middle/index.js:101:39) at require node internal modiles he ners: 177-18) at requireDir (/home/ubuntu/node_modules/require-dir/index.js:123:33) Object, ‹anonymous> (/home/ubuntu/server/routes.js:2:19) Module._compile (node:internal/modules/cjs/loader:1364:14) at Module._extensions..j (node:internal/modules/cjs/loader: 1422:10) at Module.load (node:internal/modules/cjs/loader: 1203:32) at Module._load (node: internal/modules/cjs/loader:1019:12) { code: 'ERR_DLOPEN_FAILED'
Why did this error occured?
Each javascript modules are build for range of node versions. Some times an older javascript module doesn't support newer node versions or new a javascript module doesn't support old node version.
This is what happened in above error.
bcrypt module was compiled i.e. installed with node version 16, but that perticular bcrypt module requires node version to be higher than version 16.
Solve
To solve this error first check which version of node you have installed, and which version of node is recommended for that javascript module.
# to see node js version
node -v
Head over to npm registry to to check which node version is recommended. For eg, for bcrypt recommended node version can be found here, https://www.npmjs.com/package/bcrypt
Make sure that you have installed the proper node verison.
node
javascript
linux
npm