inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Next.js 완벽 마스터 (v15): 노션 기반 개발자 블로그 만들기 (with 커서AI)

Next.js Markdown MDX 시작하기 (MDX 렌더링 오류시 강의 설명란 참고하세요!)

Markdown MDX 관련 질문입니다.

해결된 질문

283

포팃

작성한 질문수 3

1

에러화면

image.png

 

작업 순서

 

react 블로그 next.js cursor cursorai

답변 2

1

짐코딩

안녕하세요! 🙂

Next.js에서 MDX 페이지 에러 트러블슈팅

저도 테스트해 보니 Next.js 프로젝트에서 MDX 페이지가 갑자기 작동하지 않는 현상을 확인할 수 있었습니다. 문제와 해결책에 대해 자세히 설명드리겠습니다.

문제 상황

프로젝트에서 app/mdx-page/page.mdx 파일을 생성하여 MDX 페이지를 구현했습니다. 이전에는 정상적으로 작동했지만, 다시 테스트하니 다음과 같은 오류가 발생했습니다:

Error: An unexpected Turbopack error occurred. Please see the output of next dev for more details.
스크린샷 2025-05-12 오후 2.59.16.png.webp

 

원인 분석

문제의 근본 원인은 의존성 패키지 버전 관리에 있었습니다. package.json 파일을 확인해보면:

...
"@next/mdx": "^15.1.7"
...

여기서 ^ 기호는 semver(시맨틱 버전) 규칙에 따라 "15.1.7 이상, 16.0.0 미만"의 모든 버전을 허용한다는 의미입니다. 문제는 자동으로 업데이트된 버전에서 Turbopack과의 호환성 이슈가 발생했기 때문입니다.

해결 방법

이 문제를 해결하는 두 가지 효과적인 방법이 있습니다:

1. 의존성 버전 고정하기

"@next/mdx": "15.1.7"

^ 기호를 제거하여 정확히 15.1.7 버전을 사용하도록 고정합니다. 이렇게 하면 예기치 않은 버전 업데이트로 인한 호환성 문제를 방지할 수 있습니다.

2. Turbopack 없이 개발 서버 실행하기

npx next dev  # --turbopack 플래그 없이 실행

또는 package.json에 별도 명령어를 추가하여 유연하게 사용할 수 있습니다:

"scripts": {
  "dev": "next dev --turbopack",
  "dev:webpack": "next dev",  // npm run dev:webpack으로 실행
  "build": "next build",
  "start": "next start",
  "lint": "next lint",
  "lint:fix": "next lint --fix",
  "format": "prettier --write ."
}

추가 팁

MDX 테스트 페이지는 임시 용도로만 사용하고, 실제 블로그 상세 페이지는 다른 방식으로 구현할 예정입니다. 그렇기 때문에 간단히 Turbopack 없이 테스트하는 것이 더 효율적일 수 있습니다.

 

위 해결방법으로 진행하면 아래 처럼 잘 나오는 걸 확인할 수 있습니다 🙂

스크린샷 2025-05-12 오후 2.58.25.png.webp

 

0

포팃

감사합니다!
Turbopack 없이 실행했더니 작동해서 넘어갔는데 의존성 버전 고정해서 해결하는 방법도 있었네요;;;

자세하게 설명해주셔서 감사합니다^^ 강의 너무 잘 보고 있습니다!ㅎㅎ

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 포팃님.

MDX 페이지를 렌더링하려 할 때 발생하는 이슈는 주로 설정이나 패키지 호환성 문제에서 비롯될 수 있습니다. 아래에 몇 가지 주요 원인과 해결 방법을 설명드리겠습니다.

문제 원인 및 해결 방법

  1. Next.js와 Turbopack 문제:

    • Runtime Error와 관련된 메시지를 보면, Turbopack과 관련된 문제가 발생한 것 같습니다. Turbopack은 여전히 실험 기능이기 때문에 문제를 일으킬 수 있습니다. next dev --turbopack 대신 next dev로 다시 시도해보세요.
  2. Dependencies 버전 호환성 확인:

    • reactreact-dom의 버전이 안정 릴리스가 아닌 19.0.0으로 설정되어 있습니다. 현재 안정 버전(2023년 10월 기준)은 18.x.x입니다. 각 패키지가 React 19를 지원하지 않을 수 있습니다. 두 패키지를 18.x.x 버전으로 다운그레이드 해보세요.
   npm install react@18 react-dom@18
  1. 타입 선언 버전 문제:

    • @types/mdx, @types/react, @types/react-dom 등의 타입 패키지 버전이 React 버전과 호환되지 않을 수 있습니다. @types/react@types/react-dom18.x.x 버전으로 맞추는 것이 좋습니다.
  2. 페이지 경로 및 설정 확인:

    • pageExtensionsmd, mdx가 추가되어 있는 것은 올바른 설정입니다. 하지만 app/mdx-page/page.mdx 경로와 파일명이 맞는지, 혹시 오타는 없는지 다시 한 번 확인해 주세요.
  3. Next.js 설정 파일 내 정의 오류 확인:

    • next.config.ts 파일에서 withMDXnextConfig를 올바르게 병합했는지 확인합니다. 만약 MDX 설정이 올바르게 되지 않았다면, 기본적인 next.config.js 설정으로 돌아가 MDX 설정을 무효화한 상태로 테스트 해보는 것도 한 방법입니다.

참고자료 제공

다음 문서를 확인해 보시면 관련 문제의 다른 사례와 더 깊이 있는 설명을 보실 수 있습니다:
- Next.js MDX 설정 관련 공식 가이드
- React와 Next.js의 버전 호환성 문제를 해결하는 방법

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

rehype-sanitize 설치의 필요성

0

94

2

Notion API-DB 연결이 안돼요

0

544

2

private folders 와 전역 폴더

0

70

2

퀴즈 질문 풀이 오류

0

86

2

Streaming 관련해서 문의드립니다.

0

74

2

ISR 매커니즘에 대한 궁금증

0

68

2

cursor AI 프로젝트 룰 관련 질문 드립니다.

0

346

2

params 에 Promise 객체 타입이 지정되어야 하는 이유? 최신?

0

76

1

streaming 페이지 보완 필요

1

56

2

remark-gfm

0

112

2

마크업 파트 가독성 향상 방법

0

63

2

Next.js 블로그 결과물 공유 이벤트 진행 여부

0

69

1

블로그 PostCard 이미지 상단 여백

0

70

3

flex-col 과 space-y-6 차이

0

118

1

컴파일 에러 및 의존성 충돌 문제

0

108

2

TypeError: Invalid URL

0

174

2

세션 6의 퀴즈 5번 정답 옵셔널 캐치올 아닌가요?

1

73

2

상세 페이지 404 에러 발생

0

113

2

스타일이 적용 안되는 문제

0

98

2

cursorAI에 rule 생성 시 rule type이 안 나오는 현상 발생

0

178

3

클라이언트 컴포넌트 사전 렌더링

0

52

2

상세페이지 구현 Author의 name 프러퍼티가 조회가 안됩니다.

1

71

2

A

0

95

2

unstable_cache 사용 시 적정 revalidate 값 문의

0

91

2