npm / npm
npm ERR! code ERESOLVE
Fix npm ERR! code ERESOLVE dependency resolution errors caused by conflicting peer dependencies.
- Category
- npm
- Error signature
npm ERR! code ERESOLVE- Quick fix
- Update the conflicting packages to compatible versions, then regenerate the lockfile.
- Updated
What this error means
npm ERR! code ERESOLVE means npm or Node.js cannot resolve the project files, package metadata, dependency graph, or module path required by the command. Check the project root, lockfile, and Node version first.
Why this happens
Node projects depend on a consistent relationship between package.json, lockfiles, installed modules, and runtime version.
For npm ERR! code ERESOLVE, local success can be misleading if node_modules is stale or the lockfile was not regenerated.
Common causes
- Package requires a different peer dependency version
- Framework major versions are mixed
- Lockfile contains stale dependency choices
- A plugin has not been updated for the installed framework
Quick fixes
- Run the command from the folder containing
package.json. - Update the conflicting packages to compatible versions, then regenerate the lockfile.
- Check
node --versionandnpm --version. - Use
npm cifor a clean lockfile-based install when a lockfile exists.
Copy-paste commands
Check runtime versions
node --version
npm --version
Install dependencies
npm install
Clean CI-style install
npm ci
Clear npm cache
npm cache clean --force
Reset local install state
rm -rf node_modules package-lock.json
npm install
Platform-specific fixes
CI/CD
- Prefer
npm ciin CI so the build fails whenpackage.jsonandpackage-lock.jsondrift apart.
Real-world fixes
- If the error names a peer dependency, update the plugin and framework versions together.
- If the error names a missing file, check filename casing; CI often runs on a case-sensitive filesystem.
- Update the conflicting packages to compatible versions, then regenerate the lockfile.
Step-by-step troubleshooting
- Find the first
npm ERR! code ERESOLVEoccurrence in the npm output; later stack lines are often symptoms. - Confirm the command is running in the intended package directory.
- Compare
package.jsonandpackage-lock.jsonafter dependency changes. - Remove stale
node_modulesonly after checking whether the lockfile is committed. - Rerun the failing command with the same Node version used in CI or production.
How to prevent it
- Commit lockfile changes with dependency changes.
- Pin the project Node version in
.nvmrc,.node-version, or CI configuration. - Use CI to catch dependency drift before deploy.
Related errors
- npm ERR! code E401
- npm ERR! unsupported engine
- npm ci lockfile error
FAQ
What should I check first?
Start with the exact npm ERR! code ERESOLVE line and the command, request, or workflow step that produced it. In npm or Node.js, the first useful clue is usually near the first failure line, not the final stack trace.
Can I ignore this error?
No. Treat it as a failed npm or Node.js step. A temporary bypass may help diagnosis, but the underlying cause should be fixed before shipping or publishing changes.
Why does this work locally but fail elsewhere?
Local machines often have cached credentials, old dependencies, different runtime versions, or network settings that CI and production do not share. Reproduce from a clean shell or clean install when possible.
How do I know the fix worked?
Rerun the smallest command, request, or deployment step that produced npm ERR! code ERESOLVE. The fix is working when that step completes without the same signature and produces the expected output.