01_Error: Cannot find module 'recoil'
사건발단 정빈님의 작업물과 승원님이 작업물을 같은시간에 dev 로 merge. 승원님이 올리신 작업물엔 내가 작업한 recoil 라이브러리가 포함되어 있다. dev 서버에 성공적으로 merge 후 internet server error 가 발생하여 단순 백엔드에서 나는 오류라고 생각했지만, 인프라팀에서 에러를 추적하니 recoil 모듈에서 발생하는 에러였다.

에러코드
인프라팀에서 보내준 에러 코드는 다음과 같았다.
첫번째 시도
git hub action cache 삭제해보기
처음에는 install 받기 전 코드를 push 한 정빈님 코드와 recoil 코드가 충돌하여 나는 에러라고 생각했다.
github action 에 있는 cache 관련 코드를 삭제하고 npm install 부분을 force 처리하여 배포시도했다.
하지만 여전히 에러가 발생했다.

두번째 시도
기존 node modules 와 package.lock.json 을 삭제 후 재 install 한 뒤 dev 에 push 했다.
하지만 결과는 동일했다.
인프라 대홍님과 디버깅을 해보았을때 서버에 recoil 이 없었고, 직접 인스톨하니 정상적으로 받아지며 마침내 dev 서버에도 정상적으로 나타나는것을 확인했다.
결국 클라이언트에서 받은 라이브러리를 git hub action 이 서버로 가져오지 못한다는 것이었는데, 이부분에 관련하여 git hub action 을 세팅한 승섭님께 여쭤보았다.
해결
결론적으로 build.yml 의 "*node_modules*" 코드때문이었다.
매 빌드마다 node_modules 를 실행하면 S3 에 올리는 용량이 커지고 그만큼 과금문제가 생길 수 있기 때문에 제외시킨다고 하셨다.
그렇다면 새로운 라이브러리를 받을때마다 서버에 직접 install 해달라고 해야할까
해당 코드는 리소스때문에 그대로 두되,
script > afterInstall.sh 파일을 재실행 해야한다.package.json 에 서버를 재실행하는 방향으로 적용하여 문제를 해결할 수 있었다.
package.json