프로젝트 진행 중 gitlab 에 React-Native로 되어 있는 소스를 빌드 후 실행 중 

Error: error:0308010C:digital envelope routines::unsupported

오류가 발생하였다.

 

Failed to construct transformer:  Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at stableHash (/Users/Documents/gitlab/app-frontend/node_modules/metro-cache/src/stableHash.js:19:8)
    at JsTransformer.getCacheKey (/Users/Documents/gitlab/app-frontend/node_modules/metro/src/JSTransformer/worker.js:478:7)
    at getTransformCacheKey (/Users/Documents/gitlab/app-frontend/node_modules/metro/src/DeltaBundler/Transformer/getTransformCacheKey.js:39:29)
    at new Transformer (/Users/Documents/gitlab/app-frontend/node_modules/metro/src/DeltaBundler/Transformer.js:147:28)
    at /Users/Documents/gitlab/app-frontend/node_modules/metro/src/Bundler.js:54:29
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
[Tue Nov 29 2022 13:52:10.710]  BUNDLE  ./index.js 

error: TypeError: Cannot read properties of undefined (reading 'transformFile')
    at /Users/Documents/gitlab/app-frontend/node_modules/metro/src/Bundler.js:91:34
    at Generator.next (<anonymous>)
    at asyncGeneratorStep (/Users/Documents/gitlab/app-frontend/node_modules/metro/src/Bundler.js:14:24)
    at _next (/Users/Documents/gitlab/app-frontend/node_modules/metro/src/Bundler.js:34:9)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

 

오류 내용으로 검색해보니 node v17이상에서는 digital envelope routines이 지원되지 않아서 발생하는 문제라고 되어있었다.

 

nvm으로 노드 버전을 v12.22.12 으로 변경 후(프로젝트의 ReadMe의 환경 설정에 노드 버전이 12.x.x버전) node_modules을 제거후 다시 npm install을 해보았다.

 

동일한 Error: error:0308010C:digital envelope routines::unsupported 오류가 계속 발생하여 반나절 정도 삽질을 하였다.

삽질 중 nvm 의 default버전이 v18.12.1로 되어 있어 있는데, 에러가 이부분에 연관된 것이 아닌가라는 의심이 들어 혹시나 하는 마음에 nvm default 버전을 변경해 보았다.

 

nvm alias default 12.22.12

변경 후 nvm list명령어로 nvm defalut가 정상적으로 변경되었음을 확인하였다.

 

node_module을 제거 후 새로운 터미널에서 다시 npm install 후 실행을 하니 정상적으로 앱이 실행되었다.

 

 

+ Recent posts