Error message error:0308010C:digital envelope routines::unsupported
In your package.json: change this line
"start": "react-scripts start"
to
"start": "react-scripts --openssl-legacy-provider start"
Node.js 17.0.1 Gatsby error - digital envelope routines::unsupported ... ERR_OSSL_EVP_UNSUPPORTED
Gatsby must be using an algorithm or key size which is no longer allowed by default with OpenSSL 3.0.
UPDATE ⚠️
This is most likely a webpack issue - https://github.com/webpack/webpack/issues/14532
They have since released a fix in version 5.61.0 - https://github.com/webpack/webpack/releases/tag/v5.61.0 - so upgrading webpack should address the issue as well
A member of the webpack team has stated they do not plan to backport the fix to webpack 4, so if you are on webpack 4 you may need to look to upgrading to webpack 5 first.
From Node.js 17's announcement post:
If you hit an
ERR_OSSL_EVP_UNSUPPORTED
error in your application with Node.js 17, it’s likely that your application or a module you’re using is attempting to use an algorithm or key size which is no longer allowed by default with OpenSSL 3.0. A new command-line option,--openssl-legacy-provider
, has been added to revert to the legacy provider as a temporary workaround for these tightened restrictions.
Running this on the terminal might look like:
node --openssl-legacy-provider ./node_modules/.bin/gatsby build
You can also pass this in via the NODE_OPTIONS environment variable.
So if you'd like to continue using the NPM script, you can change the build
script to:
// package.json
{
"scripts": {
"build": "export NODE_OPTIONS=--openssl-legacy-provider; gatsby build"
}
}
Related Topics
Echo - Syntax Error: Bad Substitution
Bash "&" Without Printing "[1]+ Done "
Authenticating Gtk App to Run with Root Permissions
Sed Command Works on Linux, But Not on Os X
Reset Bash History Search Position
Vagrant, Shared Folder: Take Advantage of Inotify Over Nfs
Raw Socket Access as Normal User on Linux 2.4
Gnome Shell Extension Key Binding
How to Find The Version of a Compiled Kernel Module
Snort Message - Warning: No Preprocessors Configured for Policy 0
On Linux, Is Access() Faster Than Stat()
Apt-Update in Azure Nvidia Gives Publickey Error
Failed to Load Javahl Library.- Linux/Eclipse
Find Syslog Max Message Length
How to 'Chmod -R +W' with Ant, Files and Folders
Svn Keeps Prompting Me for Passwords and Refuses to Cache My Credentials
Linux Sockets: Zero-Copy Local, Tcp/Ip Remote
Why Does Linux Perf Use Event L1D.Replacement for "L1 Dcache Misses" on X86