Next.js开发服务器执行npm run dev后自动关闭无法访问
检查Node.js/npm版本兼容性
确认Node.js版本符合Next.js官方要求(Next.js 13+推荐18.17+或20.x稳定版),执行node -v和npm -v查看当前版本。版本不匹配时,用版本管理工具(如nvm)升级:nvm install 20。清理依赖并重装
- 删除项目根目录的
node_modules文件夹:rm -rf node_modules(Windows用rmdir /s /q node_modules) - 删除
package-lock.json文件:rm package-lock.json - 重新安装依赖:
npm install
- 删除项目根目录的
排查端口占用
执行lsof -i :3000(macOS/Linux)或netstat -ano | findstr ":3000"(Windows)检查3000端口是否被其他进程占用。若有占用,杀掉对应进程,或指定其他端口启动:npm run dev -- -p 3001。查看隐藏错误日志
尝试用调试模式启动以强制输出日志:NODE_ENV=development npm run dev。同时检查项目根目录.next文件夹内的日志文件,或系统级日志(Windows事件查看器、macOS控制台)中Node.js相关的崩溃记录。临时禁用实验特性
若使用Next.js 13+ App Router,在next.config.js中临时关闭实验特性测试:/** @type {import('next').NextConfig} */ const nextConfig = { experimental: { appDir: false, }, } module.exports = nextConfig或禁用快速刷新:
FAST_REFRESH=false npm run dev测试最简项目
新建空白Next.js项目:npx create-next-app@latest test-app --typescript --eslint --no-tailwind --no-src-dir --app --import-alias "@/*",进入项目执行npm run dev。若能正常启动,说明原项目存在配置或文件问题,需逐步迁移文件排查。
内容的提问来源于stack exchange,提问作者developer

