안녕하세요
[AWS Elastic Beanstalk] 배포 시 마주한 에러 (node version 지정, bcrypt, 환경변수) 본문
데이터시각화-KMG/AWS
[AWS Elastic Beanstalk] 배포 시 마주한 에러 (node version 지정, bcrypt, 환경변수)
sakuraop 2023. 7. 29. 01:391. nodejs로 배포를 할 때 실패를 하여 로그를 살펴보면 bcrypt 모듈을 찾을 수 없다는 에러가 발생한다.
Error: /var/app/current/node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: invalid ELF header
https://velog.io/@annkim7/elastic-beanstalk-%EB%B0%B0%ED%8F%AC-%ED%9B%84-%EC%97%90%EB%9F%AC
bcrypt가 리눅스 운영체제에서는 컴파일링이 되지 않은 것이 문제라고 한다.
이를 해결하기 위해서는 bcrypt를 unistall하고 bcryptjs 를 install 해줌으로써 해결할 수 있다.
import bcrypt from "bcrypt"; // bcrypt는 uninsatll
import bcrypt from "bcryptjs"; // bcryptjs install 뒤 import 해오기
2. nodejs 버전을 명시하지 않으면 에러가 발생한다.
"engines": {
"node": "18.12.1"
},
server의 pakage.json에 version을 명시해주지 않으면 모듈 간의 호환성 문제가 발생할 수 있다.
3. 환경변수는 환경 > 구성 > 업데이트, 모니터링 및 로깅 index > 편집
> 스크롤 최하단 > 환경 속성 추가
> 적용 뒤 확인