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...

Cannot find module 'commander' error in Node.js

If you’re seeing the error Cannot find module 'commander' while working with Node.js, it means that the commander module is not installed in your project. This module is a popular command-line interface (CLI) module that helps you build CLIs for your Node.js applications. Installing the Commander Package To fix the error, you’ll need to install the commander package in your project. Here’s how you can do that: Open your terminal in your project’s root directory (where your package.json file is located). Run the following command: npm install commander This will add the commander package to the dependencies of your project. Restarting Your IDE and Development Server If installing the commander package doesn’t solve the error, try restarting your Integrated Development Environment (IDE) and your development server. Sometimes, a simple restart can fix issues like these. [Fixed]: ImportError: cannot import name ‘json’ from ‘itsdangerous...

TypeError: got multiple values for argument in Python

When working with functions and classes in Python, you may encounter the “ TypeError: got multiple values for argument ” error. This error occurs when you pass the same argument multiple times in a function call, either by using both a positional and a keyword argument or by passing self as a variable in a class method. In this post, we will explore different ways to solve this error and prevent it from happening in the future. Understanding the error TypeError: got multiple values for argument in Python The “ TypeError: got multiple values for argument ” error occurs when you pass the same argument multiple times in a function call. This can happen in two ways: When passing a positional and a keyword argument for the same variable. def get_employee(name, **kwargs): return {'name': name, **kwargs}result = get_employee('Alice', name='Alice')print(result) In the example above, we pass the name argument as both a positional and a keyword argument, which causes t...