ERESOLVE peer dependency conflict after ng update Angular Origin: On your device Last updated 15 Oct 2026

Angular: npm ERR! ERESOLVE could not resolve — Conflicting peer dependency: @angular/core@"^16.0.0" (after ng update / ng add)

A package in your project requires an older Angular version than the one you are installing, so npm refuses the upgrade.

Exact message you may see ERESOLVE could not resolveConflicting peer dependency: @angular/corenpm ERR! ERESOLVE unable to resolve dependency tree @angularCould not resolve dependency: peer @angular/coreng update peer dependency conflict
Seen on: Angular Angular CLI npm

Meaning

Angular libraries declare which Angular majors they support via peer dependencies. After ng update (or ng add), a library that has not yet released a compatible version blocks npm with ERESOLVE. Update or replace that library, or as a last resort use --legacy-peer-deps / --force while you test.

Common causes

  • Third-party library supports only older Angular majors
  • Mixed Angular package versions (@angular/core 17, @angular/material 16)
  • TypeScript/zone.js versions outside the allowed range
  • Lockfile left from an older upgrade
  • A monorepo with one project still on the old version

⚡ Quick fix

  1. Update every @angular/* package together: ng update @angular/core @angular/cli
  2. Upgrade or replace the blocking library (see the message for its name)
  3. As a temporary workaround use npm install --legacy-peer-deps

Detailed fix by platform

Angular CLI

  1. ng update @angular/core@18 @angular/cli@18 then ng update @angular/material@18
  2. Check peers: npm view some-lib peerDependencies

npm

  1. npm ls @angular/core shows which versions are installed and who requires what

Code examples

Diagnose and upgrade

bash
npm ls @angular/core                       # who needs which version?
ng update @angular/core@18 @angular/cli@18
npm install --legacy-peer-deps             # temporary, to continue the upgrade

How to diagnose

  1. Packages — Which package names the conflict?
  2. Versions — All @angular/* on the same major?
  3. Library — Is there a compatible release?

🔧 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: On your device. Errors that are often confused with or caused by this one (click to open):

Cannot find control with name — Angular: Error: Cannot find control with name: 'email' (reactive forms) (Angular)Cannot find control w…Could not find the builder's node package — Angular CLI: Could not find the '@angular-devkit/build-angular:browser' builder's node package / Cannot find module '@angular-devkit/build-angular/package.json' (Angular)Could not find the bu…ERESOLVE — npm ERR! code ERESOLVE — unable to resolve dependency tree (npm)ERESOLVEexceeded maximum budget — Angular build: Error: bundle initial exceeded maximum budget. Budget 1.00 MB was not met by 120.00 kB with a total of 1.12 MB (Angular)exceeded maximum budg…Node.js version detected. The Angular CLI requires a minimum — Angular CLI: Node.js version v16.20.2 detected. The Angular CLI requires a minimum Node.js version of v18.19.1 (Angular)Node.js version detec…Repository is not clean — Angular CLI: Repository is not clean. Please commit or stash any changes before updating. (Angular)Repository is not cle…Schema validation failed with the following errors — Angular CLI: Schema validation failed with the following errors: Data path "" must NOT have additional properties(xyz) (Angular)Schema validation fai…The Angular Compiler requires TypeScript — Angular: Error: The Angular Compiler requires TypeScript >=5.4.0 and <5.6.0 but 5.7.2 was found instead (Angular)The Angular Compiler …ERESOLVE …

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.