You type npm install
and wait. Nothing happens. The process hangs, sometimes for minutes, sometimes forever. A stalled install is one of the most common frustrations in Node.js development. The good news is that the problem rarely comes from your code. Most of the time, it comes from environment issues: cache, network, permissions, or dependency conflicts. This guide explains why npm install
gets stuck and how you can fix it quickly.
What Happens When You Run npm install
Running npm install
fetches dependencies from the NPM registry, validates them, and writes them into the node_modules
folder. It also updates or creates the package-lock.json
file. The process is simple, but because it interacts with your network, filesystem, and external packages, many things can cause it to freeze.
Why npm install Gets Stuck
Network and Registry Issues
Slow or unstable internet can stall downloads.
Using the default registry
https://registry.npmjs.org
sometimes times out in certain regions.
Corrupted Cache
NPM caches modules for speed. If the cache becomes corrupted, installs can hang.
Dependency Conflicts
Circular or conflicting dependencies in
package.json
can block resolution.Nested dependencies sometimes cause lockfile deadlocks.
Node and NPM Version Mismatch
Running old Node.js with a newer NPM version, or vice versa, often causes problems.
OS and File Permission Errors
Windows long path issues.
Linux/Mac folder permission errors in
/usr/local/lib/node_modules/
.
Verify If NPM Is Installed
Run these two commands. If either returns an error, your environment isn’t set up correctly. Fixing this comes before any other step:
node -v
npm -v
When NPM Isn’t Installed or Is Broken
Reinstall Node.js and NPM
NPM ships with Node.js. Download the latest LTS version from nodejs.org.
Windows: Use the MSI installer.
macOS/Linux: Use NVM:
nvm install --lts
or your package manager:
brew install node
sudo apt install nodejs npm
Fix PATH Issues
Sometimes npm is installed but not available in PATH.
Linux/macOS:
export PATH=$PATH:/usr/local/bin
Windows: Add
C:\Program Files\nodejs\
to your Environment Variables.
Verify Installation
npm -v
When npm install Freezes After Running
Network and Registry Issues
Slow or blocked registry connections stall installs.
Corrupted Cache
Damaged cache data causes endless hangs.
Dependency Conflicts
Circular or broken dependency trees can deadlock.
Node and NPM Version Mismatch
Running incompatible versions creates install loops.
OS and Permission Errors
On Linux/macOS, folder ownership issues block progress. On Windows, path length errors can stop installs.
Step-by-Step Fixes
Clear Cache
npm cache clean --force
Switch Registry
npm config set registry https://registry.npmjs.org/
Use npm ci
npm ci
Update Node and NPM
npm install -g npm@latest
nvm install --lts
Delete node_modules and Lockfile
rm -rf node_modules package-lock.json
npm install
Preventing Future Installs From Hanging
Every frozen install wastes valuable hours. Fixing your environment once ensures smooth workflows in the future. The faster your dependencies install, the faster you can focus on building features that matter.
Use
npm ci
for reproducible builds.Keep Node and NPM updated.
Avoid unnecessary packages.
Use
.npmrc
to control retry and registry settings.
Conclusion
A stuck npm install
happens for two main reasons: npm isn’t installed correctly, or the install process hangs after running. First verify installation with npm -v
. If it fails, reinstall Node.js/npm and fix PATH. If npm runs but stalls, clear cache, switch registry, update versions, and reset your dependencies. Taking these steps restores a clean environment and saves you from wasted hours waiting on a frozen terminal.