When we were setting up the nodejs based REST API on the server we had to update the nodejs version. After we update the nodejs version we tried to run our existing nodejs application using npm.
As soon as we ran the
npm install, we got the following error:
Error: The module '/node_modules/bcrypt/lib/binding/bcrypt_lib.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 51. This version of Node.js requires NODE_MODULE_VERSION 57. Please try re-compiling or re-installing the module (for instance, using `npm rebuild` or `npm install`).
Reason of the issue
This happened due to the version of the nodejs. The bcrypt library was compiled with an older version of nodejs. On the error message, clearly mentioned it.
Solution of the issue
To solve the above issue we had to remove the module folder (bcrypt) from the node_modules folder under our project.
$ rm -rf node_modules/bcrypt
Then we had to and reinstall it, use the following commands:
$ npm install
If the above approach does not solve your problem then you can try this StackOverflow post:
bcrypt was compiled with different node version