check-env.ps1 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. $ErrorActionPreference = "Stop"
  2. $ProjectRoot = Split-Path -Parent $PSScriptRoot
  3. $BackendRoot = Join-Path $ProjectRoot "backend"
  4. if (-not (Test-Path -LiteralPath (Join-Path $BackendRoot ".env"))) {
  5. throw "缺少 backend/.env。请先创建该文件并配置后端环境变量。"
  6. }
  7. $Uv = Get-Command uv -ErrorAction SilentlyContinue
  8. if ($null -eq $Uv) {
  9. throw "未找到 uv。"
  10. }
  11. Push-Location $ProjectRoot
  12. try {
  13. uv run --project backend python -c "import sys; assert sys.version_info[:2] == (3, 12); print(sys.version)"
  14. if ($LASTEXITCODE -ne 0) {
  15. throw "Python 3.12 环境检查失败。"
  16. }
  17. }
  18. finally {
  19. Pop-Location
  20. }
  21. $MySql = Test-NetConnection -ComputerName 127.0.0.1 -Port 3306 -WarningAction SilentlyContinue
  22. if (-not $MySql.TcpTestSucceeded) {
  23. throw "MySQL 127.0.0.1:3306 未监听。"
  24. }
  25. $Redis = Test-NetConnection -ComputerName 127.0.0.1 -Port 6379 -WarningAction SilentlyContinue
  26. if (-not $Redis.TcpTestSucceeded) {
  27. throw "Redis 127.0.0.1:6379 未监听。"
  28. }
  29. Write-Host "环境检查通过:uv、Python 3.12、MySQL、Redis。"