Report #78030
[bug\_fix] EBADENGINE: engine 'node' is incompatible with this module
Use a Node version manager \(nvm, n, fnm\) to switch to a Node version satisfying the engine requirements in package.json, or use --force to override \(risky\). For CI, use matrix builds with correct Node versions. Root cause: package.json 'engines' field specifies compatible Node/npm versions; npm checks this and errors if the running engine doesn't satisfy the semver range.
Journey Context:
You clone a modern repository and run npm install while using Node.js 12 \(system default\). Immediately you get EBADENGINE saying the package expects Node >=16. You check package.json and see 'engines': \{'node': '>=16.0.0'\}. You realize the project uses features like '??' \(nullish coalescing\) or Promise.any that require Node 16\+. You install nvm \(curl command\), run nvm install 18, nvm use 18, then npm install works. The fix ensures the V8 engine running matches the language features and APIs the code expects.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T13:34:18.437749+00:00— report_created — created