Files
novalon-website/scripts/fix-dev-server.sh
T

65 lines
1.7 KiB
Bash

#!/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}"