Files
skelet/init.ps1
T

38 lines
1.3 KiB
PowerShell
Raw Normal View History

2026-07-06 10:25:29 +08:00
#!/usr/bin/env pwsh
# 标准启动与验证入口(Windows PowerShell 版),与 init.sh 等价,二选一:
# - Windows 原生 PowerShell:用本文件 ./init.ps1
# - WSL / Git Bash / macOS / Linux:用 ./init.sh
# 一条命令完成:依赖安装 -> 基础验证 -> 打印启动命令。
$ErrorActionPreference = "Stop"
Set-Location -Path $PSScriptRoot
$InstallCmd = ".venv/bin/pip3.12 install -r requirements.txt"
$VerifyCmd = ".venv/bin/python3.12 manage.py check"
$StartCmd = ".venv/bin/python3.12 manage.py runserver"
if (-not (Test-Path ".venv/bin/python3.12") -and -not (Test-Path ".venv/bin/python3.12.exe")) {
Write-Error "venv 不存在或损坏,请先运行: python3.12 -m venv .venv"
exit 1
}
2026-07-06 10:25:29 +08:00
Write-Host "==> 当前目录: $($PWD.Path)"
Write-Host "==> 同步依赖"
Invoke-Expression $InstallCmd
Write-Host "==> 运行基础验证"
Invoke-Expression $VerifyCmd
Write-Host "==> 启动命令"
Write-Host " $StartCmd"
if ($env:RUN_START_COMMAND -eq "1") {
Write-Host "==> 启动应用"
Invoke-Expression $StartCmd
} else {
Write-Host "如果希望 init.ps1 直接启动应用,请设置环境变量 RUN_START_COMMAND=1。"
Write-Host "如果基础验证失败,先修复基线状态,不要在坏的起点上继续叠新功能。"
}