[yarn berry] tsc (typescript compile) 명령시 로컬에서는 정상인데 서버에서만 컴파일 오류가 났던 경험 (ts error only server / aws codebuild)

By | 12월 14, 2022

로컬 환경

  • yarn 3.2.3 을 사용하여 라이브러리 설치, build 모두 수행

서버 환경

  • node 16 (aws codebuild)
  • 항상 아무것도 없는 바닥에서 npm install 부터 시작함.
  • install 시에는 yarn을 사용하지 않고 npm i --force 명령을 사용 (항상 새로 다운로드)
  • build시에는 yarn 1.x 를 사용

이슈

  • 서버 빌드시에만 타입스크립트 오류 발생
    • 정확히 말하면 build 전 수행하는 tsc 단계에서 오류 발생
    • e.g.) error TS2638: Type 'NonNullable' may represent a primitive value, which is not permitted as the right operand of the 'in' operator.

해결

  • 해당 에러가 로컬에서는 발생하지 않는 것이 문제였는데, 아래와 같이 하여 재현할 수 있었다.
    • node_modules 폴더 삭제
    • yarn.lock 파일 내용 삭제
    • yarn install --check-cache 로 모듈 install (= npm i --force)
    • 다시 tsc 를 해 보니 로컬에서도 에러가 났다!!
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments