Next.js는 React 기반의 프로덕션 레디(Production-Ready) 프레임워크로, 서버 사이드 렌더링(SSR), 정적 사이트 생성(SSG) 등 다양한 기능을 제공하여 빠르고 SEO에 최적화된 웹 애플리케이션을 구축할 수 있게 해줍니다. 2025년 현재, Next.js는 버전 14를 중심으로 활발하게 사용되고 있으며, 특히 App Router 방식이 표준으로 자리 잡았습니다. 이 가이드에서는 Next.js 14 버전을 기준으로 설치부터 프로젝트 생성, 그리고 기본적인 초기 설정까지의 과정을 상세하게 다룹니다. Next.js를 처음 시작하는 분들도 쉽게 따라할 수 있도록 필수적인 환경 구축 방법을 단계별로 안내해 드리겠습니다.
📚 함께 읽으면 좋은 글
Next.js 프로젝트 생성을 위한 필수 사전 준비 사항 확인하기
Next.js 프로젝트를 시작하기 전에 시스템에 설치되어 있어야 할 몇 가지 필수 요소들이 있습니다. Next.js는 Node.js 런타임을 기반으로 작동하므로, Node.js와 npm(Node Package Manager) 또는 yarn, pnpm과 같은 패키지 관리자가 설치되어 있어야 합니다. 안정적인 개발 환경을 위해 최신 LTS(Long-Term Support) 버전을 설치하는 것을 권장합니다.
Node.js 및 패키지 관리자 설치 상세 더보기
Next.js 14는 Node.js 18.17 이상 또는 20.5 이상을 요구합니다. 현재 시점에서 가장 안정적인 LTS 버전을 Node.js 공식 홈페이지에서 다운로드하여 설치합니다. Node.js를 설치하면 npm은 자동으로 함께 설치됩니다. 터미널(Terminal)이나 명령 프롬프트(Command Prompt)를 열어 다음 명령어로 설치 여부와 버전을 확인할 수 있습니다.
node -v npm -v
또한, 많은 개발자가 더 빠른 설치 속도와 효율적인 패키지 관리를 위해 Yarn이나 pnpm을 사용합니다. Yarn을 사용하려면 npm을 통해 설치할 수 있습니다.
npm install -g yarn
Next.js 환경을 구축하는 것은 이처럼 기본적인 개발 도구를 갖추는 것에서 시작합니다. 이 단계가 완료되면 본격적인 Next.js 프로젝트 생성을 진행할 준비가 된 것입니다.
Next.js 프로젝트 생성 명령어와 단계별 설정 확인하기
Next.js 프로젝트를 생성하는 가장 권장되는 방법은 create-next-app 도구를 사용하는 것입니다. 이 도구는 Next.js 프로젝트의 초기 설정과 필요한 모든 종속성(Dependencies)을 자동으로 설정해 줍니다. 2025년 기준, Next.js 14에서는 기본적으로 App Router를 사용하도록 구성되며, TypeScript, ESLint, Tailwind CSS 등 주요 개발 도구의 통합 여부를 사용자에게 선택적으로 묻습니다.
create-next-app을 이용한 프로젝트 생성 보기
원하는 프로젝트를 생성할 디렉토리로 이동한 후, 다음 명령어 중 하나를 사용하여 프로젝트 생성을 시작합니다. 여기서는 npm을 사용하는 것을 예시로 들겠습니다.
npx create-next-app@latest
명령어를 실행하면 create-next-app이 프로젝트 이름, TypeScript 사용 여부, ESLint 설정 여부 등 여러 가지 질문을 순차적으로 묻습니다. 일반적인 웹 개발 환경을 위한 권장 설정은 다음과 같습니다.
- 프로젝트 이름: 원하는 이름 (예: my-next-app)
- TypeScript 사용: Yes
- ESLint 설정: Yes
- Tailwind CSS 사용: Yes
src/디렉토리 사용: Yes (선택 사항이지만, 소스 코드를 체계적으로 관리하는 데 도움이 됩니다.)- App Router 사용: Yes (가장 중요한 설정입니다. Next.js 14의 표준입니다.)
- Import Alias 설정: Yes (선택 사항이지만, 모듈 임포트 경로를 간결하게 만드는 데 유용합니다.)
질문에 모두 답변하고 나면, create-next-app이 필요한 파일과 패키지를 다운로드하고 프로젝트를 생성합니다. 이 과정이 완료되면 새로운 Next.js 프로젝트 폴더가 생성된 것을 확인할 수 있습니다.
Next.js 프로젝트 구조 App Router 기반 상세 더보기
Next.js 13 버전부터 도입된 App Router는 기존의 Pages Router와는 근본적으로 다른 파일 시스템 기반 라우팅 방식을 사용합니다. Next.js 14 프로젝트를 생성했다면, src/app 또는 app 디렉토리 내부에 다음과 같은 핵심 파일들이 존재할 것입니다.
| 파일명 | 역할 |
|---|---|
layout.tsx |
여러 페이지에 걸쳐 공유되는 UI (헤더, 푸터, 네비게이션)를 정의합니다. |
page.tsx |
해당 경로의 고유한 UI를 정의하며, 사용자에게 보여지는 핵심 페이지입니다. |
loading.tsx |
해당 세그먼트를 로드하는 동안 보여줄 로딩 UI를 정의합니다. |
error.tsx |
런타임 오류가 발생했을 때 보여줄 에러 UI를 정의합니다. |
App Router의 핵심은 폴더가 라우트를 정의하고, 파일이 해당 라우트의 UI를 정의한다는 점입니다. 예를 들어, app/dashboard/page.tsx는 /dashboard 경로에 해당하는 페이지를 생성합니다.
Next.js 개발 서버 실행 및 기본 설정 확인하기
프로젝트 생성을 완료했다면, 이제 개발 서버를 실행하여 제대로 설치되었는지 확인하고 첫 번째 Next.js 페이지를 볼 수 있습니다. 프로젝트 폴더로 이동한 후, 패키지 관리자에 맞는 명령어를 사용하여 서버를 실행합니다.
개발 서버 실행 명령어 보기
프로젝트 루트 디렉토리로 이동합니다.
cd my-next-app
이후 다음 명령어 중 하나를 실행합니다.
npm run dev # npm을 사용한 경우 yarn dev # yarn을 사용한 경우 pnpm dev # pnpm을 사용한 경우
서버가 성공적으로 실행되면 터미널에 보통 http://localhost:3000으로 접속할 수 있다는 메시지가 나타납니다. 웹 브라우저를 열어 해당 주소로 접속하면, Next.js의 기본 시작 페이지가 나타나는 것을 확인할 수 있습니다. 이 기본 페이지가 보인다면 Next.js 설치와 프로젝트 생성이 완벽하게 완료된 것입니다.
Next.js 2024년 트렌드와 2025년 최신 정보 반영 확인하기
2024년 Next.js 트렌드의 핵심은 단연 App Router로의 완전한 전환과 서버 컴포넌트(Server Components)의 도입이었습니다. 이 트렌드는 2025년 현재까지 이어져, 신규 프로젝트에서는 Pages Router 대신 App Router를 사용하는 것이 업계 표준이 되었습니다. Next.js 14는 성능 최적화와 서버 컴포넌트의 안정성에 초점을 맞추고 있으며, 이를 통해 개발자는 더 나은 초기 로딩 성능과 SEO 이점을 얻을 수 있게 되었습니다.
또한, 2025년 개발 환경에서 Next.js를 사용할 때는 다음과 같은 최신 모범 사례를 따르는 것이 중요합니다.
- TypeScript 적극 활용: 타입 안정성을 위해 모든 프로젝트에서 TypeScript를 기본적으로 설정합니다.
- Tailwind CSS 통합: 빠른 스타일링과 유지보수성을 위해 Tailwind CSS를 기본 설정에 포함하는 경우가 많습니다.
- Vercel 배포: Next.js의 개발사에서 제공하는 Vercel 플랫폼은 Next.js 앱 배포에 가장 최적화되어 있으므로, 초기부터 Vercel 환경을 염두에 두고 개발하는 것이 일반적입니다.
따라서, 현재 시점에 Next.js 설치 및 환경 구축을 진행한다면, 반드시 App Router 기반으로 설정하고 최신 버전의 Node.js와 Next.js를 사용하는 것이 중요합니다.
마무리 Next.js 설치 및 초기 설정 성공 확인하기
지금까지 Next.js 프로젝트 설치를 위한 사전 준비부터 create-next-app을 사용한 프로젝트 생성, 그리고 개발 서버 실행까지의 전 과정을 살펴보았습니다. Next.js를 성공적으로 설치했다면, 이제 src/app/page.tsx 파일을 수정하여 첫 번째 컴포넌트를 작성해 볼 수 있습니다. Next.js는 강력한 기능들을 제공하는 만큼, 공식 문서를 꾸준히 참고하며 학습을 이어가는 것을 추천합니다. 이 가이드가 Next.js 개발의 첫 걸음을 내딛는 데 도움이 되었기를 바랍니다.
궁금한 점이 있다면 아래 FAQ 섹션을 통해 추가 정보를 확인해보세요.
📌 추가로 참고할 만한 글
자주 묻는 질문 FAQ
Q1 Next.js App Router와 Pages Router 중 무엇을 선택해야 하나요?
A. 2025년 현재, Next.js App Router를 선택하는 것이 좋습니다. App Router는 Next.js의 최신 아키텍처이며, React Server Components를 지원하여 성능이 뛰어나고, Next.js 개발 팀이 권장하는 미래 지향적인 방식입니다. Pages Router는 레거시 프로젝트 유지를 위해 남아 있지만, 신규 프로젝트는 App Router를 기본으로 설정하는 것이 모범 사례입니다.
Q2 Next.js 설치 시 TypeScript는 꼭 사용해야 하나요?
A. 필수는 아니지만, 사용하는 것을 강력하게 권장합니다. TypeScript는 코드의 안정성을 높이고 대규모 프로젝트에서 유지보수를 쉽게 해줍니다. create-next-app 명령 실행 시 ‘Would you like to use TypeScript?’ 질문에 ‘Yes’를 선택하면 자동으로 설정됩니다.
Q3 개발 서버 실행 시 ‘port 3000 already in use’ 오류가 발생합니다.
A. 이는 3000번 포트를 이미 다른 프로그램이 사용 중일 때 발생하는 오류입니다. 이 경우, 해당 프로그램을 종료하거나, 다음 명령어를 사용하여 다른 포트(예: 3001)를 지정하여 서버를 실행할 수 있습니다.
npm run dev -- -p 3001