리액트 구버전 실행 시 Node 17+에서 발생하는 error:0308010C 에러 해결

2025. 9. 25. 23:16·개발/개발 일지

 

 

 

옛날 리액트 코드를 볼일이 있어서 신나게 npm start 때렸더니 에러가 떴습니다.

npm i 할때부터 deprecated!!! deprecated!! 하더니 역시나…

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:79:19)
    at Object.createHash (node:crypto:139:10)
    ...
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'

 

원인은?

  • Node.js 17+ 버전에서 OpenSSL v3가 기본 적용되면서 Webpack(react-scripts 포함)과의 호환 문제로 발생하는 에러였슴다. (webpack 구버전이 OpenSSL 을 지원 못한다 카더라)

 

해결 방법

1. 직접 옵션 추가

package.json → scripts에 --openssl-legacy-provider 옵션 추가

"scripts": {
  "start": "react-scripts --openssl-legacy-provider start",
  "build": "react-scripts --openssl-legacy-provider build"
}

2. Node.js 버전 조정

  • nvm 또는 Node 버전 관리 도구 사용
  • Node 16 (LTS) 또는 Node 18 (LTS) 버전으로 변경
nvm install 16
nvm use 16

 

 

 

정리

  • Node 최신 버전과 구버전 webpack 충돌 문제입니다.
  • 빠른 해결은? --openssl-legacy-provider 옵션을 추가해주는 것이고요.
  • 근본 해결은? vite로 마이그레이션해서 node 22 사용하도록 하는것 또는 cra 유지 필요한 케이스는 node 버전을 낮춰서 LTS 버전(Node 16/18) 을 사용하는 것을 권장합니다요.

 

'개발 > 개발 일지' 카테고리의 다른 글

github 에서 삭제한 branch 로컬에 남아있는 경우 해결법  (0) 2025.10.18
next.js 버전 업데이트하면서 알게 된 pnpm add / up 차이  (0) 2025.09.02
'개발/개발 일지' 카테고리의 다른 글
  • github 에서 삭제한 branch 로컬에 남아있는 경우 해결법
  • next.js 버전 업데이트하면서 알게 된 pnpm add / up 차이
dev-oil
dev-oil
개발 그리고 관련한 생각들
  • dev-oil
    dev-oil의 개발 블로그
    dev-oil
  • 전체
    오늘
    어제
    • 분류 전체보기 (14)
      • 개발 (13)
        • 개발 일지 (3)
        • 개발 아카이브 (6)
        • 키워드 (3)
        • 후기 (1)
      • 자유 (1)
        • 회고 (0)
        • 그냥 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    JavaScript
    github
    error
    참석 후기
    git
    TypeScript
    개발생각
    Programming
    URL파라미터
    키워드
    react
    자유도
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dev-oil
리액트 구버전 실행 시 Node 17+에서 발생하는 error:0308010C 에러 해결
상단으로

티스토리툴바