Next.js开发服务器启动后立即停止问题求助
解决Next.js dev服务器启动后立即退出的问题
核心原因
你的32位系统与Next.js默认使用的SWC编译器(wasm构建版本)存在兼容性冲突,Node.js 18.x在32位环境下对部分wasm模块的支持有限,导致服务器启动后直接崩溃退出。
解决方案
1. 降级Node.js版本
32位系统对Node.js 16.x LTS版本的兼容性更稳定,且Next.js 13及以下版本均支持该版本:
- 卸载当前Node.js 18.6.1,下载安装32位的Node.js 16.x LTS安装包
- 重新执行
npm install安装项目依赖,再运行npm run dev测试
2. 强制使用Babel替代SWC
若不想降级Node.js,可在Next.js配置中禁用SWC,改用传统Babel编译:
- 在项目根目录创建或修改
next.config.js,添加以下配置:
/** @type {import('next').NextConfig} */ const nextConfig = { swcMinify: false, experimental: { swcPlugins: [], }, } module.exports = nextConfig
- 删除
node_modules文件夹和package-lock.json文件,重新执行npm install - 运行
npm run dev启动服务器
3. 排查端口占用问题
虽然日志显示服务器绑定3000端口,但隐性端口占用也可能导致进程异常退出:
- Windows系统执行:
netstat -ano | findstr :3000,找到占用端口的进程ID后,用taskkill /F /PID [进程ID]杀死进程 - Linux/macOS系统执行:
lsof -i :3000,找到进程后用kill -9 [进程ID]杀死进程 - 重新运行
npm run dev测试
内容的提问来源于stack exchange,提问作者Muhammad Umer Farooq
相关产品推荐
相关产品推荐

