inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

한 입 크기로 잘라먹는 Next.js

1.3) 실습용 백엔드 서버 세팅하기

강의 1.3) 실습용 백엔드 서버 세팅하기에서 module not found

해결된 질문

235

monkey-k 777

작성한 질문수 3

0

패키지 매니저를 pnpm으로 사용하고 pnpm ipnpm run build && pnpm run start 시 validator 모듈이 없다고 나와서 rm -rf node_modules pnpm-lock.yaml 후 npm으로 모듈들 설치 및 빌드, 서버 실행이 됩니다. npm이 유령 의존성 이슈가 있다고 들어서 pnpm 또는 yarn을 이용하려 한 건데, 오히려 npm을 사용해야만 문제없이 돌아가는 상황에 대해, 이게 어떤 상황인지 알 수 있을까요?

react typescript next.js

답변 2

0

이정환 Winterlood

안녕하세요 이정환입니다.

본 실습용 백엔드 서버는 "npm" 패키지 매니저를 사용하는 환경으로 개발되었습니다. 따라서 npm이 아닌 yarn이나 pnpm을 이용하는 환경에서는 정상 작동하지 않을 수 있습니다. 해당 실습용 서버는 오직 강의의 실습만을 위해 제공되고 있기 때문에 아쉽지만 강의에서 안내드린대로 npm을 이용하시는 걸 권장드립니다.

PS. 꼭 pnpm을 이용하고 싶으시다면 AI 인턴의 답변대로 pnpm install --force 명령을 활용해 강제로 모든 의존성을 설치해보시기 바랍니다. 그러나 이는 완벽한 동작을 보장할 수 없습니다 😢

또는 validator 패키지를 직접 pnpm add validator 명령으로 추가해 사용하셔도 괜찮습니다!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. monkey-k 777님.

Next.js 프로젝트에서 패키지 매니저로 pnpm을 사용하려고 할 때 validator 모듈 관련 에러가 발생한 상황에 대해 궁금하신 것 같습니다. 기본적으로 문제는 validator 모듈이 프로젝트의 node_modules에 존재하지 않아서 발생한 것으로 보입니다. 이는 여러 가지 이유로 발생할 수 있습니다. 아래에 그에 대한 몇 가지 가능성 및 해결 방법을 안내드리겠습니다.

문제 원인 및 해결 방법

  1. 의존성 충돌 및 설치 누락 문제:

    • pnpm은 의존 관계를 낭비 없이 관리하는데 최적화되어 있으나, 간혹 의존성 트리가 맞지 않아 누락될 수 있습니다.
    • 이 경우, pnpm install 실행 시 --force 옵션을 사용하여 강제로 모든 의존성을 다시 설치해 보세요. 또한, pnpm i 전에 현재의 node_modulespnpm-lock.yaml 파일을 삭제하면 더 깨끗하게 설치가 진행될 수 있습니다.
  2. 모노레포 환경:

    • 만약 모노레포를 사용 중이라면, pnpm에서 워크스페이스를 제대로 탐색하지 못할 수도 있습니다. 동일한 문제가 모노레포 설정과 관련되어 있는지 확인해 보세요.
  3. package.json의 의존성 정의:

    • 문제의 원인이 package.json 파일에 명시되지 않은 잘못된 의존성일 수 있습니다. validator 모듈을 직접 설치해 보세요:
      
      pnpm add validator
      

  4. pnpm과 npm의 차이:

    • npm과 다르게 pnpm의 경우, 효율적인 저장소 관리를 위해 기본적으로 프로젝트에 종속되지 않은 모듈을 공유 공간으로 관리합니다. 이로 인해 의존성이 누락되는 것처럼 보일 수 있습니다.

관련 문제를 다른 강의에서도 다룬 적이 있는데 비슷한 해결 방법을 제시했던 게시물을 소개드립니다:
- 강의 1.3 백엔드 서버 세팅하기에서 빌드시 에러: npm 실행 시 발생하는 에러에 대해 모듈을 설치하며 해결한 사례

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

버셀로 서버 배포 후 접속 시 500 에러 발생

0

66

2

컴포넌트와 레이아웃

0

53

2

@/styles/globals.css'

0

50

2

풀라우트캐시 동작 원리에서 데이터 캐시 관련 질문

0

71

2

next.js 프로젝트

0

68

1

Next.js + Tanstack Query BFF 구조 질문

1

82

2

Next.js 사전렌더링 이해하기 부분

0

84

2

모달 관련 질문

0

87

3

렌더링 관련 질문

0

108

2

중복으로 하나의 api를 요청할 때 캐싱 옵션 통일화

0

97

2

라우트 세그먼트 옵션 강좌 노트에 사소한 제보 남깁니다.

0

95

2

SSR시 context에 params말고 query를 사용하면 안되나요?

0

106

2

npx prisma db push 시 에러가 뜹니다.

0

131

3

vercel 배포를 실패하였습니다.

0

150

3

Image 컴포넌트 사용시 브라우저 콘솔에 경고는 왜 뜨는걸까요?

0

93

2

getServerSideProps 함수와 SSR의 관계

0

118

6

없는 페이지인데 풀라우트캐시로 저장이 되는 이유가 궁금합니다

0

93

2

실제 프로젝트에서 SSR 사용에 관해서 질문드립니다.

0

145

2

일반적인 nextjs project architecture에 대하여..

0

120

2

2.14 Search에서 작성한건 static이긴하지만 CSR이 아닌가요?

0

101

2

배포 시 오류 발생

0

111

2

백엔드 서버 오류납니다.

0

107

2

취약점 제거시 nestjs 버전 문제가 생길까요?

0

117

1

eslint.config.mjs 내 rules 어떻게 설정 하나요?

0

130

1