React-Router-Dom 설치 후node.js의 버전 호환성 오류 해결

bluemin·2024년 10월 14일
0

TIL

목록 보기
7/9

🤔 문제 발생

opensslErrorStack: [
    'error:03000086:digital envelope routines::initialization error',
    'error:0308010C:digital envelope routines::unsupported'
  ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

react-router-dom을 설치하고 npm start로 node 서버를 실행하자
위와 같은 오류 코드가 떴다.
열심히 구글링 서치한 결과, Node.js 버전과 OpenSSL 라이브러리 간의 호환성 문제때문이었다. node 17이상 버전에서 주로 발생하며 node 16으로 다운그레이드를 해야 한다고... 그런 번거로운 해결방법 말고 다른게 없나 찾던 중, --openssl-legacy-provider 옵션을 사용하여 node 17버전 이상에서도 사용가능하도록 설정해줄 수 있었다.

💡 문제 해결

해당 레포리토리의 package.json 파일로 가서 script start 설정을 수정해주면 된다.

{
  "scripts": {
    "start": "NODE_OPTIONS=--openssl-legacy-provider react-scripts start"
  }
}

그리고 나서 legacy 버전을 사용하는 것이기 때문에 명시적으로 reactimport해줘야 한다. 모든 jsx가 사용되는 파일에서 import를 확인해 준 후, 서버를 실행해주면 해결✨

이상으로 조금 예전에(?) 만들어진 강의를 라이브 코딩하던 중 벌어진 오류 해결 기록이었다. 혹시 비슷한 상황에 처하신 분들 시도해보시길...🥲

profile
성장하는 개발자 꿈나무

0개의 댓글