Just Do IT!

[Error] React+Node 프로젝트 'error:03000086:digital envelope routines::initialization error' 오류 본문

개발 공부/Error

[Error] React+Node 프로젝트 'error:03000086:digital envelope routines::initialization error' 오류

MOON달 2024. 1. 12. 18:45
728x90

요즘 인프런에서 따라하며 배우는 노드, 리액트 시리즈 - 영화 사이트 만들기 강의를 듣고있는데,

강의 코드를 치면서 배우는 와중 오류가 발생했다.

 

리액트 서버와 노드 서버를 동시에 열기 위해서 package.json 을 아래와 같이 수정했다.

 

리액트로 만든 frontend 서버는 'npm run frontend'로 열고,node로 만든 backend 서버는 'npm run backend'로 열기로 명령어를 지정했는데,두 서버를 동시에 열기 위해서 'dev'라는 명령어를 따로 만든 것이다.(강의 그대로 수정했다.)

 

 

그런데, 중간에 api가 제대로 작동하는지 보고 싶어서 서버를 켰는데,아래와 같은 오류가 나왔다.

 

 

 

 

원인은?

Node.js 버전 호환성 문제로 웹팩(webpack)이 해당 Node.js 버전과 함께 작동하지 않아 Node.js 버전과 라이브러리/프레임워크 간의 호환성 문제가 발생할 수 있으니 낮은 버전으로 변경하라는 오류이다.

 

node 버전을 보니까 강의가 지금보다 이전 node 버전으로 진행했기에,

강의의 초기 코드를 그대로 clone 해와 내가 설치한 node 버전가 달라서 생긴 오류였던 것이다.

 

 

 

 

 

해결 방법

 

해결 방법은 생각보다 간단했다.

터미널에 아래 명령어를 입력하면 해결이 되었다.

 

1. Linux and mac OS(Windows Git Bash)

export NODE_OPTIONS=--openssl-legacy-provider

 

 

2. Windows command prompt ( cmd )

set NODE_OPTIONS=--openssl-legacy-provider

 

 

3. Windows PowerShell

env:NODE_OPTIONS = "--openssl-legacy-provider"

 

 

 

각 터미널에 맞게 명령어를 입력해주면 되는데,

나는 git bash를 사용하고 있으므로 첫번째 명령어를 입력하였다.

 

 

그리고 다시 서버를 켜보니,

해결 완료!

 

**

다만, 이건 컴퓨터를 재부팅하면 다시 생길 수 있다고 하니,

다시 명령을 실행시켜야 된다고 한다.

 

 

 

 

 

 

 


참고:

https://stackoverflow.com/questions/74726224/opensslerrorstack-error03000086digital-envelope-routinesinitialization-e

 

opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ]

opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], library: 'digital envelope routines', reason: 'unsupported', code: 'ERR_OSSL_EVP_UNSUPPORTED' } I get...

stackoverflow.com