check-env.sh 814 B

1234567891011121314151617
  1. #!/usr/bin/env bash
  2. set -euo pipefail
  3. project_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
  4. backend_root="$project_root/backend"
  5. [[ -f "$backend_root/.env" ]] || { echo "缺少 backend/.env。请先创建该文件并配置后端环境变量。" >&2; exit 1; }
  6. command -v uv >/dev/null 2>&1 || { echo "未找到 uv。" >&2; exit 1; }
  7. cd "$project_root"
  8. uv run --project backend python -c 'import sys; assert sys.version_info[:2] == (3, 12); print(sys.version)'
  9. command -v nc >/dev/null 2>&1 || { echo "未找到 nc,无法检查 MySQL 和 Redis 端口。" >&2; exit 1; }
  10. nc -z 127.0.0.1 3306 || { echo "MySQL 127.0.0.1:3306 未监听。" >&2; exit 1; }
  11. nc -z 127.0.0.1 6379 || { echo "Redis 127.0.0.1:6379 未监听。" >&2; exit 1; }
  12. echo "环境检查通过:uv、Python 3.12、MySQL、Redis。"