2020년 5월 14일 목요일

Ruby EBS Platform에서 webpacker not found 이슈 해결하기.


이번에 적어볼 내용은 Elastic Bean Stalk(EBS) 에서 webpacker not found 이슈 해결하기.

해당 내용을 적는 이유는 기존에 rails를 EBS ruby 2.6 버전에서 작업후 배포 하는 중에 webpack을 찾을수가 없다는 이슈가 발생하였고, 해결하기 위해 log를 찾아보던 중에
기존에 EBS instance에 설치 되어있는 노드 버전이 6으로 설정 되어있어 특정 패키지가 설치 되지 않아서 서버가 동작하지 않는 이슈였습니다.
그 후 구글을 통해 많은 검색을 해서 Node version을 업데이트 하는 스크립트를 찾아서 작성을 했습니다.
이게 초반에 구글을 통해 작성해서 넣었던 스크립트 내용입니다.

TODO
    EBS Container 스크립트를 통해 Node 업데이트하기.

VERSION 1


아래 보시는 스크린샷이 초반에 노드 버전을 container에서 업데이트 하기 위한 초기 스크립트 입니다. 
간단하게 설명 드리면 스크립트에 대해서 설명 해 드리면 Node를 curl을 통해 다운받아서 yarn 을 통해 nodejs와 yum을 업데이트 하는 스크립트 입니다.
해당 스크립트 사용시에도 여전히 node version이 업데이트 되지 않는 이슈가 있었습니다.

RESULT
    FAILURE

DEBUG

해당 이슈에 대해 확인해보니 container를 통해서 12버전의 node를 다운 받았더라도, 
yum -y install nodejs command 실행시에 기존에 다운 받은 6버전과 충돌이 발생해 여러개의 repository가 있어서 업데이트 할수 없다는 이슈였습니다.

VERSION 2

Version1에서 발생한 이슈를 해결 하기 위해 container에서 node 설치시에 기존에 설치 되어있는 nodesource repo를 제거 하고 배포하는 방식으로 변경하였습니다.


해당 내용은 기존에 node repo를 다운받기 전에 nodesource-release*, nodejs 를 제거 하고 기존에 yum에 설치 되어있는 내용을 clean 하는 command를 추가하였습니다.


RESULT 
    SUCCEED

해당 내용을 통해 사용하고 있는 EBS instance에 배포가 완료 되는걸 확인하였습니다.



댓글 없음:

댓글 쓰기