인프런 커뮤니티 질문&답변

정민영님의 프로필 이미지
정민영

작성한 질문수

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

배포 준비하기(빌드, pm2, cross-env)

빌드 배포 관련 질문 입니다.

작성

·

466

0

안녕하세요. 제로초님

빌드 관련 질문 하나 드리겠습니다.

현재 express로 되어있던 백엔드 프로젝트를 nestjs로

변경하는 작업을 하고 있는데요.

express 에서 monorepo를 활용해서 서버가 여러개 있고

DB를 공통 모듈로 사용하고 있습니다.

그래서 nest에서도 같은 방식으로 monorepo를 사용하고

있는데요.

대략 구조는 이렇습니다.

2023-01-11_10-05-57.png

 

apps 안에 각 서버들이 있고,

libs 안에 entity, common 등 공통 모듈이 있습니다.

Window 환경에서는 문제 없이 잘 실행되고,

빌드도 문제 없이 잘 됩니다.

문제는 Linux 환경에서 빌드시 오류가 발생하는데

2023-01-11_10-47-41.png이런식으로 entity 모듈들을 찾지 못합니다.

 

tsconfig.json

2023-01-11_10-48-23.png

package.json

2023-01-11_10-49-09.png

nest-cli.json

2023-01-11_10-48-43.png

이렇게 path 설정 되어 있습니다.

왜 Linux에서만 빌드가 안되는 건지..

구글링도 해보고 이것 저것 해봤는데 딱히 해결책을

찾지 못해서 질문드립니다.

감사합니다.

 

 

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

libs/entity/src/entities/member.ts가 있는 건가요?

tsconfig.json의 baseUrl은 '.'이 맞나요?

tsconfig.lib.json은 tsconfig.json을 extend 하나요?

정민영님의 프로필 이미지
정민영
질문자

  1. entities 폴더 안에 테이블 파일들이 모두 들어 있습니다.

  2. baseUrl 은 '.' 로 하거나 './' 로 하거나 모두 동일하게 작동 합니다.

  3. tsconfig.lib.json 에서 extend 하고 있습니다.

말씀 하신 건 다 되어있습니다.

일단은 윈도우에서 정상적으로 빌드가 되기 때문에 dist 폴더를 리눅스로 올려서 배포가 가능하긴 합니다만... 리눅스에서 빌드를 하고 싶네요..

 

정민영님의 프로필 이미지
정민영

작성한 질문수

질문하기