Report #15743
[bug\_fix] Error: error:0308010C:digital envelope routines::unsupported
Set the environment variable \`NODE\_OPTIONS=--openssl-legacy-provider\` \(e.g., in \`.env\` or before the command: \`NODE\_OPTIONS=--openssl-legacy-provider npm start\`\), or upgrade webpack to version 5.61.0\+ \(or Vite/Rollup\) which properly supports OpenSSL 3.0, or downgrade to Node.js 16 LTS.
Journey Context:
A developer upgrades their Node.js version from the v16 LTS to the v18 LTS to stay current. They return to an older React project created with Create React App 4 \(webpack 4\). Running \`npm start\` immediately throws an \`ERR\_OSSL\_EVP\_UNSUPPORTED\` error referencing OpenSSL. The developer searches the error and discovers that Node 17\+ ships with OpenSSL 3.0, which has stricter cryptographic algorithms that older webpack \(and other tools using \`crypto.createHash\`\) do not support. The developer applies the quick fix: prepending \`NODE\_OPTIONS=--openssl-legacy-provider\` to their start script. This enables the legacy OpenSSL provider. Later, they properly fix it by ejecting CRA and upgrading webpack to v5, which natively supports the new OpenSSL.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T00:52:54.398343+00:00— report_created — created