Report #13220
[bug\_fix] error:0308010C:digital envelope routines::unsupported
Set environment variable NODE\_OPTIONS=--openssl-legacy-provider before running the build, or upgrade webpack to version 5.61.0\+ \(or equivalent build tool\). Root cause: Node.js 17\+ uses OpenSSL 3.0 which has stricter algorithm requirements incompatible with legacy crypto calls in older webpack 4 and some build tools.
Journey Context:
Developer upgrades to Node.js 18 LTS on their Windows machine. They clone an existing project from 2020 and run npm start. Instead of the dev server starting, they get a cryptic OpenSSL error about digital envelope routines. They search the error and find it's related to OpenSSL 3.0 in Node 17\+. They check their webpack version and see it's 4.46.0. They try reinstalling node\_modules. They consider downgrading Node but want to keep LTS. They find they can set NODE\_OPTIONS=--openssl-legacy-provider to enable the legacy OpenSSL provider. They set it in their shell and the build works. Later they properly fix it by upgrading to webpack 5 which has OpenSSL 3.0 compatibility.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T18:12:35.371445+00:00— report_created — created