# npm ERR! `npm ci` can only install packages when your package.json and package-lock.json are in sync

**Code:** `npm ci out of sync` · **Category:** npm · **Seen on:** npm

package-lock.json doesn’t match package.json, so npm ci refuses to install.

## 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

1. Run npm install locally and commit package-lock.json
2. Align npm versions (engines/packageManager field)

## Detailed fix by platform

### npm

1. `npm install && git add package-lock.json && git commit -m "Update lockfile"`

## How to diagnose

1. **Diff** — Which packages are missing/invalid in the message?
2. **Recent change** — Did it start after a deploy, upgrade, or configuration change? Compare with the last working version.

---
Source: [WhatIsMyError](https://whatismyerror.com/errors/npm/npm-ci-lockfile-out-of-sync)
