Cannot find module 'bcrypt' error in Node.js [Solved]

avatar
Borislav Hadzhiev

Last updated: Apr 5, 2024
2 min

banner

# Cannot find module 'bcrypt' error in Node.js

To solve the error "Cannot find module 'bcrypt'", install the node-gyp and bcrypt packages. The bcrypt module uses node-gyp for its build and installation.

After the installation, restart your IDE and your development server.

cannot find module bcrypt

shell
Error Cannot find module 'bcrypt' [ERR_MODULE_NOT_FOUND]: Cannot find package 'bcrypt'

Open your terminal in your project's root directory (where your package.json file is located) and run the following commands:

shell
npm install -g node-gyp npm install bcrypt # ๐Ÿ‘‡๏ธ if you use TypeScript npm install --save-dev @types/bcryptjs

install bcrypt module

This will add the bcrypt package to the dependencies of your project.

If the global installation of node-gyp fails, you might have to run the command prefixed with sudo.
shell
# ๐Ÿ‘‡๏ธ If you got permissions error, run with sudo sudo npm install -g node-gyp npm install bcrypt # ๐Ÿ‘‡๏ธ if you use TypeScript npm install --save-dev @types/bcryptjs
The code for this article is available on GitHub

If the error persists, restart your IDE and development server.

If the error is not resolved, open your terminal in your project's root directory and run the following commands:

shell
npm install -g bcrypt npm link bcrypt

The npm link command creates a symbolic link from the globally installed package to the node_modules/ directory of the current folder.

# Delete your node_modules and reinstall your dependencies

If the error is not resolved, try to delete your node_modules and package-lock.json (not package.json) files, re-run npm install and restart your IDE.

shell
# ๐Ÿ‘‡๏ธ (macOS/Linux) delete node_modules and package-lock.json rm -rf node_modules rm -f package-lock.json rm -f yarn.lock # ๐Ÿ‘‡๏ธ (Windows) delete node_modules and package-lock.json rd /s /q "node_modules" del package-lock.json del -f yarn.lock # ๐Ÿ‘‡๏ธ clean your npm cache npm cache clean --force # ๐Ÿ‘‡๏ธ install packages npm install npm install bcrypt@latest
Make sure to restart your IDE if the error persists. VSCode often glitches and a reboot solves things sometimes.

# Verify the bcrypt module is in your dependencies object

If you still get the error, open your package.json file and make sure it contains the bcrypt package in the dependencies object.

package.json
{ // ... rest "dependencies": { "bcrypt": "^5.0.1", // ... rest } }
The code for this article is available on GitHub

You can try to manually add the line and re-run npm install.

shell
npm install

run npm install command

Or install the latest version of the package by running:

shell
npm install bcrypt@latest # ๐Ÿ‘‡๏ธ if you use TypeScript npm install --save-dev @types/bcryptjs@latest

install latest bcrypt version

The code for this article is available on GitHub
I wrote a book in which I share everything I know about how to become a better, more efficient programmer.
book cover
You can use the search field on my Home Page to filter through all of my articles.

Copyright ยฉ 2024 Borislav Hadzhiev