Error: error:0308010c:digital envelope routines::unsupported – SOLVED
A user faced error: error:0308010c:digital envelope routines::unsupported message while creating the default IntelliJ IDEA React project. Seems it is a recent issue. So how it is fixed?
Well guys, we checked out a number of resources regarding this and this is how you can solve the error: error:0308010c:digital envelope routines::unsupported in just few minutes. So don’t wait, have a look at some key points below and resolve the error in just a while!
Error: error:0308010c:digital envelope routines::unsupported – SOLVED
Regarding this error, a number of answers has been shared. But the below given amend got a green tick from the experts and yes it really solves the problem. Have a look at below given changes:
In your package.json: change this line
"start": "react-scripts start"
to
"start": "react-scripts --openssl-legacy-provider start"
If the above guide doesn’t work, then there is another solution available. It is bit lengthy, but it works. So here’s what you have to do when you hit with this error: error:0308010c:digital envelope routines::unsupported
Danger
This question has more than 30 answers, most suggesting to either downgrade Node.js to pre v17 or to use the legacy SSL provider. Both of those solutions are hacks that leave your builds open to security threats.
Reason For The Error
In Node.js v17, the Node.js developers closed a security hole in the SSL provider. This fix was a breaking change that corresponded with similar breaking changes in the SSL packages in NPM. When you attempt to use SSL in Node.js v17 or later without also upgrading those SSL packages in your package.json
, then you will see this error.
The Correct (safe) Solution
Use an up-to-date version of Node.js, and also use packages that are up-to-date with security fixes.
For many people, the following command will fix the issue:
npm audit fix --force
However, be aware that, for complex builds, the above command will pull in breaking security fixes that can potentially break your build.
A less heavy-handed (also correct) solution
In your Webpack config, set one of either of the following:
A. Set output.hashFunction = 'xxhash64'
B. Set experiments.futureDefaults = true
So, would you try it? I think you should Definity checkout the above given solutions for sure. In case if you miss anything else then please comment below and don’t forget to share error: error:0308010c:digital envelope routines::unsupported solution with others on social media platforms!