nx 빌드 이슈 정리

Tony·2023년 1월 31일
0

모노레포 병렬 빌드 시 실패하는 현상

이번에 nx를 사용해서 기존에 하나의 프로젝트를
UI 라이브러리 + 사용자 앱 + 관리자 앱 으로 3개로 분리하고
모노레포로 관리할 수 있게 전환하였다

그런데 빌드할 때 이슈가 있었는데
UI 라이브러리는 npm에 배포되어 있지 않아서 npm i 로 설치되지 않았다
nx는 병렬로 동시에 빌드를 진행하는데 이때 UI 라이브러리가 설치되지 않았기 때문에 발생하는 에러였다

그래서 빌드 순서를 정해줘야했다
UI 라이브러리를 먼저 빌드 한 후 나머지 두 앱(사용자, 관리자)가 병렬로 빌드되도록 수정하였다

// nx.json
{
  // ...
  "targetDefaults": {
    "build": {
      "dependsOn": ["^build"]
    },
    "dev": {
      "dependsOn": ["^build"]
    }
  }
}
  • 실행할 명령어를 targetDefaults 의 키에 추가하고 dependencies에 있다면 먼저 실행할 명령어를 추가
  • 예시 - build, dev 명령어 두 개를 사용하기 때문에 두 개를 추가함

참고

profile
움직이는 만큼 행복해진다

0개의 댓글