Report #104384
[bug\_fix] Error: Cannot find module 'node:...' \(e.g., 'node:path'\) in Node 14
Upgrade Node.js to v16\+ or replace \`node:\` prefixed imports with the classic module name \(e.g., \`require\('path'\)\` or \`import path from 'path'\` without the protocol\). The \`node:\` protocol was introduced in Node 16 as stable.
Journey Context:
A developer cloned a modern Next.js app that used \`import fs from 'node:fs/promises'\` in the source. On their local Node 14.18.0 environment, they got \`Error: Cannot find module 'node:fs/promises'\`. The error only occurred during runtime, not during type-checking, since TypeScript compiled the imports but Node couldn't resolve them. Upgrading to Node 18 LTS fixed it instantly. The root cause: the \`node:\` prefix for built-in modules was experimental before Node 16 and required a flag \(\`--experimental-modules\`\), but the code was written assuming Node 18. The fix \(upgrade\) is the only reliable solution, as polyfilling built-ins is not possible.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-08-09T20:05:44.950843+00:00— report_created — created