#!/bin/bash echo "🔧 Next.js 开发服务器问题修复工具" echo "==================================" echo "" # 颜色定义 GREEN='\033[0;32m' YELLOW='\033[1;33m' RED='\033[0;31m' NC='\033[0m' # No Color # 检查是否有进程在3000端口 if lsof -ti:3000 > /dev/null 2>&1; then echo -e "${YELLOW}⚠️ 检测到端口3000上有进程运行${NC}" echo "正在停止进程..." lsof -ti:3000 | xargs kill -9 2>/dev/null echo -e "${GREEN}✅ 进程已停止${NC}" sleep 2 else echo -e "${GREEN}✅ 端口3000未被占用${NC}" fi # 清除缓存 echo "" echo "清除Next.js缓存..." if [ -d ".next" ]; then echo "删除 .next 目录..." rm -rf .next echo -e "${GREEN}✅ .next 目录已清除${NC}" else echo -e "${GREEN}✅ .next 目录不存在,无需清除${NC}" fi # 清除node_modules缓存(可选) if [ "$1" == "--deep" ]; then echo "" echo "执行深度清理..." if [ -d "node_modules/.cache" ]; then echo "删除 node_modules/.cache 目录..." rm -rf node_modules/.cache echo -e "${GREEN}✅ node_modules/.cache 已清除${NC}" fi if [ -d ".turbo" ]; then echo "删除 .turbo 目录..." rm -rf .turbo echo -e "${GREEN}✅ .turbo 已清除${NC}" fi fi echo "" echo -e "${GREEN}✅ 修复完成!${NC}" echo "" echo "现在可以运行开发服务器:" echo -e "${YELLOW}npm run dev${NC}" echo "" echo "或者使用以下命令:" echo -e "${YELLOW}npm run dev${NC} - 启动开发服务器" echo -e "${YELLOW}npm run build${NC} - 构建生产版本" echo "" echo "提示:如果问题仍然存在,尝试使用 --deep 参数进行深度清理:" echo -e "${YELLOW}./scripts/fix-dev-server.sh --deep${NC}"