본문 바로가기

개발

AWS Amplify build 문제 : cannot find module 'semver/functions/cmp'

sopt.org 공식 홈페이지 frontend 배포시 aws amplify 서비스를 사용했다. 

 

vercel과 같은 원클릭 배포 서비스인 것 같은데 

ci/cd 부터 https 인증서 적용 + cloudfront 서비스까지 클릭만으로 배포가 되니 참 편하다. 

elasticbeanstalk과 같은 서비스라고 보면 될 것 같다. 

 

첫 어플리케이션을 만들고 첫 배포는 정상적으로 진행이 된다. 

잘 되나 싶었는데 

두번째 빌드부터 빌드 단계에서 문제가 생겼다. 

 

왜그런고,,, 

 

프로비저닝 OK 

프론트엔드 빌드 단계에서 

Error: [BABEL]: Cannot find module 'semver/functions/cmp'

해당 모듈을 찾을 수 없다. 

 

아니 첫번째 빌드할땐 됐잖아요. 

왜 두번째 빌드는 안되죠? 

곰곰히 생각하고,,,,,,, 

 

프로비저닝 이미지가 문제인가 했는데 

build script에 cache 부분이 있는 것을 발견 

version: 1
frontend:
  phases:
    preBuild:
      commands:
        - nvm install 16.18.0
        - npm install -g pnpm
        - pnpm install
    build:
      commands:
        - nvm use 16.18.0
        - npm install -g pnpm
        - npx pnpm run build
  artifacts:
    baseDirectory: .next
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*

 

cache 부분을 지우고 빌드하니 잘 동작 하더라~ 

 

이것 때문에 좀 시간 많이 고생했는데 

모든 것은 과정에 답이 있다. 

과정을 하나씩 따라가다 보면 답이 보인다. 

'개발' 카테고리의 다른 글