EEXIST npm Origin: Build & delivery Last updated 14 Oct 2026

npm ERR! code EEXIST — EEXIST: file already exists, symlink '../lib/node_modules/x/bin/x' -> '/usr/local/bin/x'

A global install can’t create its command link because a file with that name already exists.

Exact message you may see EEXIST: file already exists, symlinknpm ERR! code EEXIST
Seen on: npm

Meaning

Another installation (Homebrew, a different Node version, or an older global package) owns the binary name.

Common causes

  • Binary installed by Homebrew/another manager
  • Leftover link from an old global install

⚡ Quick fix

  1. npm install -g pkg --force to overwrite
  2. Remove the old binary/package first
  3. Use a Node version manager to avoid clashes

Detailed fix by platform

npm

  1. npm uninstall -g yarn && npm install -g yarn

How to diagnose

  1. Path — Which binary exists and who installed it?
  2. Recent change — Did it start after a deploy, upgrade, or configuration change? Compare with the last working version.

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Build & delivery. Errors that are often confused with or caused by this one (click to open):

cb() never called — npm ERR! cb() never called! (npm)cb() never calledCorepack keyid — Error: Cannot find matching keyid (Corepack signature verification) (npm)Corepack keyidE401 — npm ERR! code E401 — Unable to authenticate, need: Basic realm / Incorrect or missing password (npm)E401E402 — npm ERR! code E402 — 402 Payment Required - PUT https://registry.npmjs.org/@scope%2fpkg - You must sign up for private packages (npm)E402E403 — npm ERR! code E403 — 403 Forbidden - PUT https://registry.npmjs.org/x - You do not have permission to publish (npm)E403EACCES — npm ERR! code EACCES — permission denied (npm)EACCESEEXIST — Error: EEXIST: file already exists, mkdir (Node.js)EEXISTEEXIST

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.