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"
}
}
이런식으로 해준 후 헤로쿠를 배포하면 에러가 뜨지 않고 잘 배포되는 것을 확인할 수 있다.