본문 바로가기
IT

node.js - 'digital envelope routines' 에러 시 해결 방법

by 내일은교양왕 2023. 6. 29.

원인

사용했던 Node 버전보다 높아서 아래와 같은 에러가 발생

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (C:\Users\USER\IdeaProjects\todo2\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (C:\Users\USER\IdeaProjects\todo2\node_modules\webpack\lib\NormalModule.js:417:16)
    at handleParseError (C:\Users\USER\IdeaProjects\todo2\node_modules\webpack\lib\NormalModule.js:471:10)
    at C:\Users\USER\IdeaProjects\todo2\node_modules\webpack\lib\NormalModule.js:503:5
    at C:\Users\USER\IdeaProjects\todo2\node_modules\webpack\lib\NormalModule.js:358:12
    at C:\Users\USER\IdeaProjects\todo2\node_modules\loader-runner\lib\LoaderRunner.js:373:3
    at iterateNormalLoaders (C:\Users\USER\IdeaProjects\todo2\node_modules\loader-runner\lib\LoaderRunner.js:214:10) 
    at iterateNormalLoaders (C:\Users\USER\IdeaProjects\todo2\node_modules\loader-runner\lib\LoaderRunner.js:221:10) 
C:\Users\USER\IdeaProjects\todo2\node_modules\react-scripts\scripts\start.js:19
  throw err;
  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (C:\Users\USER\IdeaProjects\todo2\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (C:\Users\USER\IdeaProjects\todo2\node_modules\webpack\lib\NormalModule.js:417:16)
    at C:\Users\USER\IdeaProjects\todo2\node_modules\webpack\lib\NormalModule.js:452:10
    at C:\Users\USER\IdeaProjects\todo2\node_modules\webpack\lib\NormalModule.js:323:13
    at C:\Users\USER\IdeaProjects\todo2\node_modules\loader-runner\lib\LoaderRunner.js:367:11
    at C:\Users\USER\IdeaProjects\todo2\node_modules\loader-runner\lib\LoaderRunner.js:233:18
    at context.callback (C:\Users\USER\IdeaProjects\todo2\node_modules\loader-runner\lib\LoaderRunner.js:111:13)
    at C:\Users\USER\IdeaProjects\todo2\node_modules\babel-loader\lib\index.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.13.0

 

 

해결 방법

nvm 설치

https://github.com/coreybutler/nvm-windows

 

GitHub - coreybutler/nvm-windows: A node.js version management utility for Windows. Ironically written in Go.

A node.js version management utility for Windows. Ironically written in Go. - GitHub - coreybutler/nvm-windows: A node.js version management utility for Windows. Ironically written in Go.

github.com

 

현 버전은 18이기에 17버전 설치 후 테스트 

nvm install 17
nvm use 17.9.1

 

결과는 실패. ㅠㅠ 16으로 설치 후 다시 테스트

nvm install 16
nvm use 16.20.1

 

결과는 성공.

 

 

재발방지

방법은 없지만, 빠르게 해결할 수 있는 방법은 있다. 프로젝트 루트에 .nvmrc 파일을 생성해서 해당 프로젝트가 어떤 node 버전을 보고 있는지 확인하면 조금더 빠르게 에러대응을 할 수 있다.

 

.nvmrc

16.20.1

 

 

'IT' 카테고리의 다른 글

JS - replaceAll vs regex replace  (0) 2023.07.04
Web - Passive Event Listener() aka addEventListener()  (0) 2023.07.02
TS - Record<K, T>  (0) 2023.06.27
Node 버전 간편하게 관리하기  (0) 2023.06.23
pnpm 기본 개념  (0) 2023.06.23