Главная » Error » How to Solve Error Message ‘ERR_OSSL_EVP_UNSUPPORTED’ when running npm start

How to Solve Error Message ‘ERR_OSSL_EVP_UNSUPPORTED’ when running npm start

В этой статье

Introduction

This article is focusing on how to handle a certain error message when running ‘npm start’ command. Actually, it is a command for starting React JS application. So, before going to the solution part, the following is the actual execution of the command :

C:app_react>npm start
npm WARN config global `–global`, `–local` are deprecated. Use `–location=global` instead.

> app_react@0.1.0 start
> env-cmd -f .env react-scripts start

i 「wds」: Project is running at http://0.0.0.0:3000/
i 「wds」: webpack output is served from
i 「wds」: Content not from webpack is served from C:app_react
i 「wds」: 404s will fallback to /
Starting the development server…

Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:67:19)
at Object.createHash (node:crypto:133:10)
at module.exports (C:app_reactnode_moduleswebpacklibutilcreateHash.js:135:53)
at NormalModule._initBuildHash (C:app_reactnode_moduleswebpacklibNormalModule.js:417:16)
at handleParseError (C:app_reactnode_moduleswebpacklibNormalModule.js:471:10)
at C:app_reactnode_moduleswebpacklibNormalModule.js:503:5
at C:app_reactnode_moduleswebpacklibNormalModule.js:358:12
at C:app_reactckan-fenode_modulesloader-runnerlibLoaderRunner.js:373:3
at iterateNormalLoaders (C:app_reactnode_modulesloader-runnerlibLoaderRunner.js:214:10)
at iterateNormalLoaders (C:app_reactnode_modulesloader-runnerlibLoaderRunner.js:221:10)
C:app_reactnode_modulesreact-scriptsscriptsstart.js:19
throw err;
^

Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:67:19)
at Object.createHash (node:crypto:133:10)
at module.exports (C:app_reactnode_moduleswebpacklibutilcreateHash.js:135:53)
at NormalModule._initBuildHash (C:app_reactnode_moduleswebpacklibNormalModule.js:417:16)
at C:app_reactnode_moduleswebpacklibNormalModule.js:452:10
at C:app_reactnode_moduleswebpacklibNormalModule.js:323:13
at C:app_reactnode_modulesloader-runnerlibLoaderRunner.js:367:11
at C:app_reactnode_modulesloader-runnerlibLoaderRunner.js:233:18
at context.callback (C:app_reactnode_modulesloader-runnerlibLoaderRunner.js:111:13)
at C:app_reactnode_modulesreact-scriptsnode_modulesbabel-loaderlibindex.js:59:103 {
opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error’ ],
library: ‘digital envelope routines’,
reason: ‘unsupported’,
code: ‘ERR_OSSL_EVP_UNSUPPORTED’
}

Node.js v18.3.0

C:app_react>cd ..

So, the React JS application is already running. But in the middle of the running process, it trigger an error message. The error message is appear in the end of the command execution. Actually, it exist in the following part of the output command below :

at C:app_reactnode_modulesreact-scriptsnode_modulesbabel-loaderlibindex.js:59:103 {
opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error’ ],
library: ‘digital envelope routines’,
reason: ‘unsupported’,
code: ‘ERR_OSSL_EVP_UNSUPPORTED’
}

Node.js v18.3.0

C:app_react>

Почему не работают переменные css во vue?

  • 1 подписчик
  • вчера
  • 71 просмотр

ответ
1

  • vue
    • Vue.js

    Простой

  • В какой последовательности выполняются функции при передачи их в обработчик события?

    • 1 подписчик
    • вчера
    • 33 просмотра

    ответ
    1

  • javascript
    • JavaScript

    • +2 ещё

    Простой

  • How to resolve error:0308010C:digital envelope routines::unsupported?

    There are multiple ways to resolve the issue. Let us take a look at each of these solutions.

    Solution 1: Add the legacy OpenSSL in package.json

    If you still want to use Node.js 17 or above and resolve the issue, you can go to package.json and modify the line.

    “start”: “react-scripts start”

    to

    “start”: “react-scripts –openssl-legacy-provider start”

    Changing this script in package.json makes Node.js use OpenSSL 3 in the legacy mode, which means you are running with known insecure algorithms.

    Solution 2: Downgrade Node.JS to Long Term Support(LTS)

    The other alternate way is to downgrade the Node.JS to LTS version 16.14.0, to resolve the issue. 

    There are various ways to install and use Node.js versions. One of the best ways is to use Node Version Manager to manage multiple node versions.

    Step 1: Install the Node Version manager using the below command.

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

    Step 2: You can install the specific node.js version or just use the below command to install the node.js LTS version.

    nvm install –lts

    Step 3: Set the node.js to use the latest LTS version using the following command.

    nvm use –lts

    In the case of the Docker build, you can modify the DockerFile something like this.


    FROM node:alpine

    to


    FROM node:16-alpine3.12

    Solution 3: Setting openssl-legacy-provider Globally

    Setting the NODE_OPTIONS is not a recommended approach, but you can still try this on your local machine as a quick fix.

    The same can be tried in the case of the Docker build. All you need to do is add the below line in your DockeFile to resolve the issue.

    RUN export NODE_OPTIONS=–openssl-legacy-provider && yarn build && yarn install –production –ignore-scripts –prefer-offline

    Conclusion

    The error:0308010C:digital envelope routines::unsupported occurs with the Node.js version 17 as it’s not the LTS version, and there is a breaking change in the OpenSSL.

    We can resolve the issue by downgrading the Node.js version to LTS (16.14.0) or by modifying the package.json start script to “start”: “react-scripts –openssl-legacy-provider start”

    Total1Shares1Share0Tweet0Share0Share0Share

    Sign Up for Our Newsletters

    Subscribe to get notified of the latest articles. We will never spam you. Be a part of our ever-growing community.

    SubscribeBy checking this box, you confirm that you have read and are agreeing to our terms of use regarding the storage of the data submitted through this form.

    Get absolute URL using Javascript

    • August 26, 2021

    Below is the simple method to get absolute URL using javascript. This code can be run on the Browser Console directly. Open the developer tools and navigate to console tab… View Post

    • Javascript
    • 3 minute read

    <хедер class="entry-хедер">

    What is error:0308010C:digital envelope routines::unsupported?

    So today, when we are setting up and running the React project using the latest version of Node.JS 17 or above, we ran into the below issue.

    [webpack-cli] Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:67:19)
    at Object.createHash (node:crypto:130:10)
    at BulkUpdateDecorator.hashFactory (/opt/src/node_modules/webpack/lib/util/createHash.js:155:18)
    opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error’ ],
    library: ‘digital envelope routines’,
    reason: ‘unsupported’,
    code: ‘ERR_OSSL_EVP_UNSUPPORTED’

    The error can also occur if you build the application using docker build since it pulls the latest version of Node.JS by default.

    This error is because node.js 17 uses OpenSSL3, which has changed code for initialization context of md family (including md4), and this is a breaking change.

    We can find more details about the OpenSSL3 upgrade over here.

    The Node JS version 17 is not the LTS (Long Term Support), and it is not compatible with the webpack version 4.

    Как передать id выбранного элемента, а не его значение?

    • 1 подписчик
    • 3 часа назад
    • 28 просмотров

    ответ
    1

  • vue
    • Vue.js

    Простой

  • Почему через postman картинка загружается, а через axios — нет?

    • 1 подписчик
    • вчера
    • 88 просмотров

    ответов
    0

  • vue
    • Vue.js

    Простой

  • Number.isInteger() – JavaScript

    • November 24, 2021

    Table of Contents Hide SyntaxPassing positive number as an argument Passing negative number as an argument Passing zero as an argument Passing floating-point number as an argument Passing floating-point number as an argument representing… View Post

    • Javascript
    • 1 minute read

    <хедер class="entry-хедер">

    Как связать два input между собой?

    • 1 подписчик
    • вчера
    • 83 просмотра

    ответ
    1

  • vue
    • Vue.js

    Средний

  • Как передавать в методы параметром данные из data vue?

    • 1 подписчик
    • 14 окт.
    • 25 просмотров

    ответ
    1

  • Показать ещёЗагружается…
  • Вакансии с Хабр Карьеры

    Vue Frontend Engineer

    Elastoo Products

    от 160 000 ₽

    Frontend-разработчик Nuxt Vue

    Пульсар-МСК
    •Москва
    от 100 000 до 200 000 ₽

    Frontend-разработчик (Vue)

    ДАЛЕЕ

    от 150 000 ₽
    Ещё вакансии

    Заказы с Хабр Фриланса

    Разработка задания (node.js)

    18 окт. 2022, в 15:46
    10 руб./за проект

    Сделать Webview Android из веб приложения

    18 окт. 2022, в 15:23
    5000 руб./за проект

    Решить задачу на голом Питоне

    18 окт. 2022, в 15:19
    2500 руб./за проект
    Ещё заказы

    Минуточку внимания

    Присоединяйтесь к сообществу, чтобы узнавать новое и делиться знаниями

    Зарегистрироваться

    Самое интересное за 24 часа

    • Можно ли заменить в ноутбуке экран на другой, с более высоким разрешением?

      • 2 подписчика
      • 1 ответ
    • Как вывести общее количество товаров магазина Woocommerce в записи/на странице с помощью шорткода?

      • 2 подписчика
      • 0 ответов
    • Можно ли удалить рекламу Yandex с сайта?

      • 4 подписчика
      • 3 ответа
    • Как исправить эту ошибку docker-compose?

      • 1 подписчик
      • 1 ответ
    • Как скачивать с защищенных каналов Telegram?

      • 8 подписчиков
      • 1 ответ
    • Какие есть сервисы кэширования для сайта?

      • 7 подписчиков
      • 1 ответ
    • Как Отправить сгенерированный пдф файл на электронную почту?

      • 2 подписчика
      • 1 ответ
    • Как дать роли права на чтение только со slave?

      • 2 подписчика
      • 1 ответ
    • Как изменить код таким образом, чтобы промисы выполнялись поочередно?

      • 2 подписчика
      • 1 ответ
    • Как сгрупировать значения multiselect инпута в подмассивы если в форме несколько multiselect инпутов с одним названием tags[]?

      • 2 подписчика
      • 1 ответ
    • © Habr
    • О сервисе
    • Обратная связь
    • Блог

    Можно ли сейчас переделать VUE3 блок страницы под SSR?

    • 1 подписчик
    • вчера
    • 21 просмотр

    ответ
    1

  • laravel
    • Laravel

    • +2 ещё

    Средний

  • Capitalize the first letter of string using JavaScript

    • January 14, 2022

    If you come across a scenario where you need to Capitalize the first letter of string using JavaScript then you could easily perform this in one-liner using built-in string methods… View Post

    • How To
    • Javascript
    • 1 minute read

    <хедер class="entry-хедер">

    Нужно организовать смену экранов в Vue (подключен через CDN) без использования HTTP-роутинга — как правильно сделать?

    • 1 подписчик
    • 16 окт.
    • 26 просмотров

    ответов
    0

  • vue
    • Vue.js

    Простой

  • А могу ли я как-то в Vue3 через CDN разбить код на несколько файлов?

    • 1 подписчик
    • вчера
    • 42 просмотра

    ответов
    0

  • vue
    • Vue.js

    Простой

  • Есть ли какой-то способ быстро понять суть Vue3 если уже хорошо знаком с Vue2?

    • 1 подписчик
    • 16 окт.
    • 108 просмотров

    ответов
    0

  • vue
    • Vue.js

    Простой

  • How to use node.js REPL terminal?

    • January 14, 2022

    Table of Contents Hide Different tasks that can be performed in REPL EnvironmentHow to Start REPL in Node.JS?How to check List of Commands Supported by Node.JS REPL?How to use node.js… View Post

    • Javascript
    • 1 minute read

    <хедер class="entry-хедер">

    Источники

    • https://www.dark-hamster.com/application/how-to-solve-error-message-err_ossl_evp_unsupported-when-running-npm-start/
    • https://qna.habr.com/q/1075348
    • https://itsmycode.com/error-digital-envelope-routines-unsupported/
    [свернуть]
    Решите Вашу проблему!


    ×
    Adblock
    detector