New tools: - 鍋滄鎵€鏈夋湇鍔?bat - Stop all services - 鏌ョ湅绔彛鍗犵敤.bat - Check port usage - 閲嶅惎鏈嶅姟.bat - Restart services - 蹇€熶慨澶?绔彛鍗犵敤.md - Troubleshooting guide These scripts help resolve: - EADDRINUSE error (port 3001 already in use) - ENOBUFS error (network connection issues) - Timeout errors (backend not responding)
4.4 KiB
4.4 KiB
🔧 快速修复:端口占用问题
❌ 问题症状
错误1:EADDRINUSE
ERROR: listen EADDRINUSE: address already in use 0.0.0.0:3001
原因: 后端服务已经在运行,端口3001被占用
错误2:ENOBUFS / 连接错误
[vite] http proxy error: /api/v1/projects
AggregateError [ENOBUFS]
原因: 前端尝试连接后端,但后端未正常运行
错误3:超时错误
AxiosError: timeout of 30000ms exceeded
原因: API请求超时,后端服务不可用
✅ 解决方案(3步)
方案1:使用脚本(推荐)⭐
步骤1:停止所有服务
双击运行:停止所有服务.bat
步骤2:重新启动
双击运行:一键启动.bat
方案2:手动操作
步骤1:查看端口占用
双击运行:查看端口占用.bat
步骤2:手动停止进程
# 查找占用3001端口的进程
netstat -ano | findstr :3001
# 假设PID是12345,停止该进程
taskkill /F /PID 12345
步骤3:重新启动
# 终端1 - 后端
cd backend
npm run dev
# 终端2 - 前端
cd frontend
npm run dev
方案3:停止所有Node进程(彻底清理)
# 停止所有Node进程
taskkill /F /IM node.exe
# 然后重新启动
双击运行:一键启动.bat
⚠️ 警告: 这会停止电脑上所有Node进程,包括其他项目!
🔍 诊断工具
1. 查看端口占用
查看端口占用.bat
2. 停止所有服务
停止所有服务.bat
3. 系统诊断
诊断问题.bat
📋 完整启动清单
✅ 正确的启动流程
-
确保之前的服务已停止
停止所有服务.bat -
启动Docker容器
docker-compose up -d # 或者一键启动会自动处理 -
启动后端服务
cd backend npm run dev预期输出:
🚀 AI临床研究平台 - 后端服务器启动成功! 📍 服务地址: http://localhost:3001 -
启动前端服务
cd frontend npm run dev预期输出:
➜ Local: http://localhost:3000/ -
访问系统
http://localhost:3000/
⚠️ 常见错误
错误1:端口3001已占用
解决: 运行 停止所有服务.bat
错误2:端口3000已占用
解决: 运行 停止所有服务.bat
错误3:Docker容器未运行
解决:
docker-compose up -d
错误4:数据库连接失败
解决:
# 检查容器状态
docker ps
# 如果没有看到postgres和redis,启动它们
docker-compose up -d
🎯 快速命令参考
查看端口占用
# 查看3001端口
netstat -ano | findstr :3001
# 查看3000端口
netstat -ano | findstr :3000
# 查看所有Node进程
tasklist | findstr node.exe
停止进程
# 停止特定PID
taskkill /F /PID <PID号>
# 停止所有Node进程
taskkill /F /IM node.exe
检查服务状态
# 后端健康检查
curl http://localhost:3001/health
# Docker容器状态
docker ps
💡 避免端口占用的建议
1. 使用统一的启动脚本
始终使用 一键启动.bat 启动服务
2. 使用统一的停止脚本
不用时运行 停止所有服务.bat 停止服务
3. 不要重复启动
在启动新服务前,先确保旧服务已停止
4. 关闭终端时确保进程已停止
不要直接关闭终端窗口,先按 Ctrl+C 停止服务
🆘 仍然无法解决?
检查清单
- 运行了
停止所有服务.bat - 确认端口已释放(
netstat -ano | findstr :3001) - Docker容器正在运行(
docker ps) - 后端依赖已安装(
cd backend && npm install) - 前端依赖已安装(
cd frontend && npm install) - 数据库迁移已完成(
cd backend && npx prisma migrate dev) - 模拟用户已创建(
cd backend && npx tsx src/scripts/create-mock-user.ts)
获取帮助
如果问题仍未解决,请提供:
查看端口占用.bat的输出- 后端启动的完整日志
- 前端启动的完整日志
docker ps的输出
✅ 按照以上步骤操作,问题应该可以解决!