error:03000086:digital envelope routines::initialization error, node.js 버전 에러

summereuna🐥·2022년 10월 25일
0
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
-----> Build failed
       
       We're sorry this build is failing! You can troubleshoot common issues here:
       https://devcenter.heroku.com/articles/troubleshooting-node-deploys
       
       Some possible problems:
       
       - Node version not specified in package.json
         https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version
       
       Love,
       Heroku
       
 !     Push rejected, failed to compile Node.js app.
 !     Push failed

오랜만에 작년 프로젝트에 수정을 좀 하고 헤로쿠에 배포를 하는데 에러가 떴다.
에러가 뜬 이유는 node.js 버전 때문이다.

pakage.json 파일에 개발 및 테스트하는 런타임과 일치하는 Node.js 버전을 지정하면 된다.

일단 로컬에서 node와 npm의 버전을 확인해 보자.

$ node --version

그러고 나서 먼저, 애플리케이션이 heroku/nodejs 빌드 팩을 사용하고 있는지 확인한다.

$ heroku buildpacks

heroku/nodejs 가 나오면 오케이!

이제 패키지의 engines 섹션을 만들어 Heroku에서 사용할 Node.js의 버전을 지정한다.
버전 번호 앞에 'v'는 제외하고 번호만 적으면 된다.

{
  "name": "앱 이름",
  "description": "앱 설명",
  "version": "1.0.0",
  "engines": {
    "node": "18.x"
  }
}

이런식으로 해준 후 헤로쿠를 배포하면 에러가 뜨지 않고 잘 배포되는 것을 확인할 수 있다.

profile
Always have hope🍀 & constant passion🔥

0개의 댓글