Report #100069
[bug\_fix] Error: error:0308010C:digital envelope routines::unsupported \(ERR\_OSSL\_EVP\_UNSUPPORTED\)
Upgrade your build tooling to a version compatible with OpenSSL 3 \(webpack 5.61.0\+, Next.js 12.0.9\+, Vite 3\+, etc.\). The short-term workaround is \`NODE\_OPTIONS=--openssl-legacy-provider\` before the build command, or adding \`"scripts": \{ "build": "NODE\_OPTIONS=--openssl-legacy-provider next build" \}\`. The flag re-enables the legacy OpenSSL provider that Node disabled by default.
Journey Context:
You install Node 18 on a new laptop, clone a project from 2021, and \`npm run build\` dies inside webpack's crypto usage with \`ERR\_OSSL\_EVP\_UNSUPPORTED\`. You downgrade to Node 16 and it works, but you need Node 18 for another project. You trace the stack to \`crypto.createHash\` inside webpack. Node 17\+ ships OpenSSL 3, which changed the default hash algorithms and broke older webpack MD4 usage. The permanent fix is upgrading webpack; the legacy-provider flag is the documented stopgap that restores the old OpenSSL algorithms for older toolchains.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-01T04:35:56.040423+00:00— report_created — created