'error:03000086:digital envelope routines::initialization error’

Tags
react
deprecated

문제

notion image
npx react-native start를 해서 메트로를 띄웠을 뿐인데,
'error:03000086:digital envelope routines::initialization error’ 에러가 발생하면서 제대로 동작하지 않았다.

원인

기존에 node v16 버전 대를 쓰다가 v20으로 올리고 나서 발생하기 시작한 듯 보인다.
노드버전만 올렸지 앱에서 사용중이던 라이브러리들은 아직 버전업을 하지 않아서 몇년전 repo 상태 그대로로, 호환이 되지 않을 수 있다.
 
즉 노드버전과 라이브러리 간의 호환성 문제로 위와 같은 에러를 뱉게 된 것이다.

해결방안

노드 버전을 올린 만큼, 라이브러리 버전들도 최신화 시켜주는 방법도 있고,
 
두번째로는 임시로 구버전 노드와 호환되도록 node 옵션을 설정하여 해결하는 방법이 있다.
# 설정하기 $ export NODE_OPTIONS=--openssl-legacy-provider # 되돌리기 $ unset NODE_OPTIONS
위와 같이 환경변수를 설정하고 다시 실행해보자.
 
notion image
이전의 에러문구가 뜨지 않고 잘 동작하는 모습을 볼 수 있었다.