The Next.js App Router currently relies on Node.js APIs that Bun does not yet implement. The guide below uses Bun to initialize a project and install dependencies, but it uses Node.js to run the dev server.
Initialize a Next.js app with
create-next-app. This automatically installs dependencies using
bun create next-app
✔ What is your project named? … my-app ✔ Would you like to use TypeScript with this project? … No / Yes ✔ Would you like to use ESLint with this project? … No / Yes ✔ Would you like to use `src/` directory with this project? … No / Yes ✔ Would you like to use experimental `app/` directory with this project? … No / Yes ✔ What import alias would you like configured? … @/* Creating a new Next.js app in /path/to/my-app.
To start the dev server with Bun, run
bun --bun run dev from the project root.
bun --bun run dev
To run the dev server with Node.js instead, omit
bun run dev
Open http://localhost:3000 with your browser to see the result. Any changes you make to
(pages/app)/index.tsx will be hot-reloaded in the browser.