문제 해결 가이드
에러: Cannot find module 'dist/main'
에러 메시지
Error: Cannot find module '/Users/dnsever/johnny/crypto-wallet-core/apps/api/dist/main'
원인 분석
- 빌드가 실행되지 않음:
dist/main.js파일이 생성되지 않았습니다. - 프로덕션 모드 실행:
npm run start:prod를 실행했지만 빌드가 먼저 실행되지 않았습니다. - 스크립트 경로 문제:
start:prod스크립트에.js확장자가 누락되었을 수 있습니다.
해결 방법
방법 1: 개발 모드로 실행 (권장)
개발 모드에서는 빌드 없이 TypeScript를 직접 실행합니다:
cd apps/api
npm run start:dev
장점:
- 빌드 과정 없이 바로 실행
- 파일 변경 시 자동 재시작 (hot reload)
- 개발 중 가장 편리한 방법
방법 2: 빌드 후 프로덕션 모드 실행
프로덕션 모드로 실행하려면 먼저 빌드를 실행해야 합니다:
cd apps/api
# 1. 빌드 실행
npm run build
# 2. 프로덕션 모드 실행
npm run start:prod
참고: package.json의 start:prod 스크립트가 node dist/main.js로 수정되었습니다.
방법 3: 의존성 설치 확인
의존성이 설치되지 않았다면 먼저 설치하세요:
# 루트 디렉토리에서
npm install
# 또는 apps/api 디렉토리에서
cd apps/api
npm install
추가 확인 사항
1. 빌드 출력 디렉토리 확인
빌드 후 dist 폴더가 생성되는지 확인:
cd apps/api
npm run build
ls -la dist/
dist/main.js 파일이 있어야 합니다.
2. TypeScript 컴파일 에러 확인
빌드 중 TypeScript 에러가 있는지 확인:
cd apps/api
npm run build
에러가 있다면 먼저 수정해야 합니다.
3. nest-cli.json 설정 확인
nest-cli.json의 설정이 올바른지 확인:
{
"root": "apps/api",
"sourceRoot": "apps/api/src",
"compilerOptions": {
"tsConfigPath": "apps/api/tsconfig.json"
}
}
일반적인 실행 명령어
# 개발 모드 (권장)
npm run start:dev
# 디버그 모드
npm run start:debug
# 빌드
npm run build
# 프로덕션 모드 (빌드 후)
npm run start:prod
# 테스트
npm run test
# E2E 테스트
npm run test:e2e
예상되는 문제들
문제 1: 모듈을 찾을 수 없음
에러: Cannot find module '@crypto-wallet-core/core'
해결:
# 루트에서 워크스페이스 의존성 설치
npm install
# 또는 각 패키지 빌드
cd packages/core
npm run build
문제 2: TypeScript 경로 해석 실패
에러: Cannot find module (경로 별칭 관련)
해결: tsconfig.json의 paths 설정 확인 및 tsconfig-paths 설치 확인
문제 3: 포트가 이미 사용 중
에러: EADDRINUSE: address already in use :::3000
해결:
# 다른 포트로 실행
PORT=3001 npm run start:dev
# 또는 사용 중인 프로세스 종료
lsof -ti:3000 | xargs kill -9
체크리스트
프로젝트를 처음 실행할 때:
- 루트 디렉토리에서
npm install실행 -
apps/api디렉토리로 이동 -
npm run start:dev실행 - 브라우저에서
http://localhost:3000접속 확인 -
/health엔드포인트 테스트:curl http://localhost:3000/health
추가 도움말
문제가 계속되면:
- 로그 확인: 터미널의 전체 에러 메시지 확인
- 의존성 확인:
package.json의 모든 의존성이 설치되었는지 확인 - Node.js 버전: Node.js 18+ 버전 사용 확인
- 캐시 클리어:
node_modules삭제 후 재설치
rm -rf node_modules
rm -rf apps/api/node_modules
npm install