Skip to content

Npm Dependency Installation Fails with ERESOLVE unable to resolve dependency tree #2448

@jGleitz

Description

@jGleitz

After we increase the version of prettier in our projects, developers sometimes cannot use spotless at all. They get lint errors on formatted files, informing them that the npm install failed:

There were 39 lint error(s), they must be fixed or suppressed. build/<path to SQL file>:LINE_UNDEFINED prettier-format(com.diffplug.spotless.npm.NpmProcessException) Running npm command 'NpmInstall in <project path>/build/spotless-prettier-node-modules-edd532637edcb6904b3d70deaa4ddaa0 [<project path>/.gradle/nodejs/node-v22.14.0-darwin-arm64/bin/npm install --no-audit --no-fund --prefer-offline]' failed with exit code: 1 

Reproducing the command spotless runs reveals the error by npm spotless is facing:

npm install error
npm error code ERESOLVE npm error ERESOLVE unable to resolve dependency tree npm error npm error While resolving: spotless-prettier@2.0.0 npm error Found: prettier@undefined npm error node_modules/prettier npm error dev prettier@"3.4.2" from the root project npm error npm error Could not resolve dependency: npm error peer prettier@"^3.0.3" from prettier-plugin-sql@0.18.1 npm error node_modules/prettier-plugin-sql npm error dev prettier-plugin-sql@"0.18.1" from the root project npm error npm error Fix the upstream dependency conflict, or retry npm error this command with --force or --legacy-peer-deps npm error to accept an incorrect (and potentially broken) dependency resolution. npm error npm error npm error For a full report see: npm error <user home>/.npm/_logs/2025-03-14T09_43_53_020Z-eresolve-report.txt npm error A complete log of this run can be found in: <user home>/.npm/_logs/2025-03-14T09_43_53_020Z-debug-0.log 

The root problem is that npm needs to update its package information, but doesn’t do that when --prefer-offline is set. Spotless already has logic for such a case, but the detection for when to apply that logic does not include this case, yet.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions