This commit is contained in:
@kirill.komarov
2026-05-10 17:26:22 +05:00
parent 517cd23a55
commit df4435dd67
4 changed files with 114 additions and 4 deletions
+3
View File
@@ -32,6 +32,9 @@ function Show-Help {
Конфиг: scripts/deploy.env (скопируйте из deploy.env.example).
Нужны: bash (Git for Windows) и rsync в PATH. rsync без Git: установите пакет (например, choco install rsync).
Если npm ci падает с EPERM на .node (Windows): остановите Vite/Node, затем снова .\scripts\deploy-ssh.ps1
Или: cd client; npm run build; затем .\scripts\deploy-ssh.ps1 -SkipBuild (только выкладка dist).
"@ | Write-Host
}
+9 -3
View File
@@ -178,8 +178,9 @@ deploy_frontend() {
echo ">>> Фронт: npm ci и npm run build (локально)"
# Windows: ESLint/typescript-eslint тянут @unrs/*.node — npm ci часто получает EPERM unlink, если файл держит Node/IDE или остался мусор .resolver-binding-* после сбоя.
if should_use_tar_transport; then
echo ">>> (Windows/Git Bash) перед npm ci: удалить client/node_modules/@unrs и мусор .resolver-binding-* (EPERM unlink)"
rm -rf "$ROOT/client/node_modules/@unrs" 2>/dev/null || true
echo ">>> (Windows/Git Bash) перед npm ci: снимаем блокировки нативных .node (@unrs, @rolldown, .resolver-binding-*)"
echo ">>> Подсказка: остановите «npm run dev» / dev-серверы и IDE, если EPERM останется."
rm -rf "$ROOT/client/node_modules/@unrs" "$ROOT/client/node_modules/@rolldown" 2>/dev/null || true
(
cd "$ROOT/client/node_modules" 2>/dev/null || exit 0
shopt -s nullglob
@@ -188,7 +189,12 @@ deploy_frontend() {
done
)
fi
(cd "$ROOT/client" && npm ci && npm run build)
(cd "$ROOT/client" && npm ci && npm run build) || {
echo "" >&2
echo "Сборка фронта не удалась. На Windows часто EPERM на .node — закройте процессы Node (dev-сервер), повторите." >&2
echo "Или соберите фронт вручную (cd client && npm run build), затем: $0 --frontend-only --skip-build" >&2
exit 1
}
else
echo ">>> Фронт: сборка пропущена (--skip-build)"
if [[ ! -d "$ROOT/client/dist" ]]; then