Skip to main content

Error:0308010c:digital envelope routines::unsupported

Are you getting the error “error:0308010c:digital envelope routines::unsupported“? Yes, you have come to the right place. Today I will show you how you can solve this error.

The “error: error:0308010c:digital envelope routines::unsupported” occurs after Node v17. Node version 17 and later use OpenSSL version 3.0, which has some breaking changes.

[Solved] digital envelope routines::unsupported

To resolve this error, when you run the development server, you should set the ‘NODE_OPTIONS’ to ‘–OpenSSL-legacy-provider.” You should first try these options, Below are the commands to try this solution.

# for Windows Git Bash, macOS or Linuxexport NODE_OPTIONS=--openssl-legacy-provider# for Windows Command Prompt (CMD)set NODE_OPTIONS=--openssl-legacy-provider# for Windows PowerShell$env:NODE_OPTIONS="--openssl-legacy-provider"# for Docker (Add this line in your Dockerfile)ENV NODE_OPTIONS="--openssl-legacy-provider"

Make sure to execute the correct command according to the shell type.

You need to set this “–openssl-legacy-provider” as NODE_OPTIONS because after Node V17 you will get this error without set this setting. If settings NODE_OPTIONS solved your problem you don’t need to do other changes.

If you set NODE_OPTIONS but still get this error “error:0308010c:digital envelope routines::unsupported‘, you can try these solutions.

error:0308010c:digital envelope routines::unsupported [Fixed]

You can add ‘–openssl-legacy-provider‘ in your package.json file to solve this error. Your package.json file should contain these lines.

{  "scripts": {    "start": "react-scripts start --openssl-legacy-provider",  }}

node: –openssl-legacy-provider is not allowed in node_options

When you run the command you may get this error “node: –openssl-legacy-provider is not allowed in node_options“. To solve this problem you need to UNSET the NODE_OPTIONS that you set in the first attempt.

Fixed: Type string undefined is not assignable to type string

Commands to unset NODE_OPTIONS

# for macOS, Linux or Windows Git Bashunset NODE_OPTIONS# for Windows CMD (Command Prompt)set NODE_OPTIONS=# for Windows PowerShell[Environment]::SetEnvironmentVariable('NODE_OPTIONS', '', 'User')[Environment]::SetEnvironmentVariable('NODE_OPTIONS', '', 'Machine')

Now after upsetting the NODE_OPTIONS, you will need to rerun the command to add –openssl-legacy-provider in package.json.

Note: If you are running these commands on Windows, you may get an error – “‘NODE_OPTIONS’ is not recognized as an internal or external command“. To solve this issue you will need to install the package “cross-env“.

# command to install cross-env packagenpm install cross-env

You can get this error “error: error:0308010c:digital envelope routines::unsupported” if you have an old or outdated version of react-scripts in your create-react-app project.

Open your terminal and upgrade the react-scripts.

# if you use npm as package installernpm install react-scripts@latest# if you use yarn as package installeryarn add react-scripts@latest

[Solution] error:0308010c:digital envelope routines::unsupported

If you tried all solutions but still getting this error you can downgrade your Node version to solve this problem. You can downgrade to NODE V16 because after Node v16 you will get this error.

Command to Downgrade NODE

You can use “Node Version Manager” to downgrade your node.js

# nvm install 16# nvm use 16

Conclusion on error:0308010c:digital envelope routines::unsupported

The “error: error:0308010c:digital envelope routines::unsupported” occurs after Node v17. Node version 17 and later use OpenSSL version 3.0 which has some breaking changes. You can solve this error by using the above solutions. If you are still getting this error please let us know in the comments section.

Comments

Popular posts from this blog

Top 10 Web Hosting Companies in 2024

 As the world of internet grows, the need for high-quality, reliable web hosting has never been more important. In this blog post, we'll delve into the top 10 web hosting companies in 2024, examining their features, pricing, and how they stack up against each other. Exploring The Importance of Reliable Web Hosting The lifeblood of the digital universe is web hosting. It's the sturdy anchor keeping every website afloat in the sea of the internet. Reliable web hosting is your ally in carving out your own piece of the online world, ensuring your site remains accessible, loading with speed, and guarding your precious data securely. It's like owning prime real estate in the metropolis of the internet, where your digital presence is steadfast, standing tall among the rest. This, in a nutshell, is the essential role of a trustworthy web hosting service. It's not just about the space; it's about the quality, reliability, and safety of that space. The Rise of Green Hostin...

Best Health Insurance For Students in USA

Whether you're a domestic or international student studying in the USA, having health insurance coverage is not just a luxury, it's a necessity. With the high cost of healthcare in the USA, having the best health insurance for students in the USA can provide you with peace of mind while you focus on your studies. Understanding the Need for Health Insurance for Students Being a student, the likelihood of you being healthy and not needing frequent medical attention is quite high. But life is unpredictable, and emergencies can arise at any time. If a sudden injury or illness strikes, the resulting healthcare costs can become a major financial burden if you are uninsured. With the steep price of medical care in the United States, even a simple trip to the emergency room can lead to exorbitant bills. By having a good health insurance plan, students can mitigate these financial risks. Such plans cover a wide array of medical services, ranging from regular preventive care to prolonge...

Unexpected reserved word 'await' error in JavaScript

The “ unexpected reserved word await ” error is a common problem that can occur when using the ‘await’ keyword in JavaScript. This error occurs when the ‘await’ keyword is used inside of a function that is not marked as ‘async’. In this post, we’ll take a look at two examples of how this error can occur and how to fix it. Example 1: Using await inside a function that is not marked as async One of the most common causes of the “ unexpected reserved word await ” error is trying to use the ‘await’ keyword inside a function that is not marked as ‘async’. Here’s an example of how this error can occur: function getString() { //not marked async // error: unexpected reserved word 'await' const str = await Promise.resolve('hello'); return str;} In this example, we are trying to use the ‘await’ keyword inside the ‘getString’ function to wait for a promise to resolve. However,...