npm ERR! `npm ci` can only install packages when your package.json and package-lock.json are in sync
package-lock.json doesn’t match package.json, so npm ci refuses to install.
Seen on:
npm
Meaning
Someone changed package.json without updating the lockfile, or the lockfile was generated with a different npm version.
Common causes
- package.json edited manually without npm install
- Lockfile not committed after changes
- Different npm major versions across team/CI
⚡ Quick fix
- Run npm install locally and commit package-lock.json
- Align npm versions (engines/packageManager field)
Detailed fix by platform
npm
npm install && git add package-lock.json && git commit -m "Update lockfile"
How to diagnose
- Diff — Which packages are missing/invalid in the message?
- Recent change — Did it start after a deploy, upgrade, or configuration change? Compare with the last working version.
🧠 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.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 2 Oct 2026