В этой статье
- Introduction
- Почему не работают переменные css во vue?
- В какой последовательности выполняются функции при передачи их в обработчик события?
- How to resolve error:0308010C:digital envelope routines::unsupported?
- Solution 1: Add the legacy OpenSSL in package.json
- Solution 2: Downgrade Node.JS to Long Term Support(LTS)
- Solution 3: Setting openssl-legacy-provider Globally
- Conclusion
- Sign Up for Our Newsletters
- Get absolute URL using Javascript
- What is error:0308010C:digital envelope routines::unsupported?
- Как передать id выбранного элемента, а не его значение?
- Почему через postman картинка загружается, а через axios — нет?
- Number.isInteger() – JavaScript
- Как связать два input между собой?
- Как передавать в методы параметром данные из data vue?
- Минуточку внимания
- Можно ли сейчас переделать VUE3 блок страницы под SSR?
- Capitalize the first letter of string using JavaScript
- Нужно организовать смену экранов в Vue (подключен через CDN) без использования HTTP-роутинга — как правильно сделать?
- А могу ли я как-то в Vue3 через CDN разбить код на несколько файлов?
- Есть ли какой-то способ быстро понять суть Vue3 если уже хорошо знаком с Vue2?
- How to use node.js REPL terminal?
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.js
Простой
В какой последовательности выполняются функции при передачи их в обработчик события?
- 1 подписчик
- вчера
- 33 просмотра
ответ
1

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::unsupportedat 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.js
Простой
Почему через postman картинка загружается, а через axios — нет?
- 1 подписчик
- вчера
- 88 просмотров
ответов
0

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.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
- +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.js
Простой
А могу ли я как-то в Vue3 через CDN разбить код на несколько файлов?
- 1 подписчик
- вчера
- 42 просмотра
ответов
0

Vue.js
Простой
Есть ли какой-то способ быстро понять суть Vue3 если уже хорошо знаком с Vue2?
- 1 подписчик
- 16 окт.
- 108 просмотров
ответов
0

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/