Files
softclick-landing/scripts/docs/NETLIFY-FIX.md
2026-04-02 23:35:06 +03:00

196 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🔧 Решение проблемы с Netlify Deploy
## Проблема
```
Deploy did not succeed: Deploy directory 'dist' does not exist
```
## Причина
Vite создаёт папку `build` вместо `dist`, или конфигурация не применяется правильно.
---
## ✅ Решение 1: Обновлён netlify.toml (УЖЕ СДЕЛАНО)
Файл `netlify.toml` обновлён для использования папки `build`:
```toml
[build]
command = "npm run build"
publish = "build"
[[redirects]]
from = "/*"
to = "/index.html"
status = 200
```
**Просто сделайте новый коммит и пуш - должно заработать!**
---
## ✅ Решение 2: Проверка локально
Запустите скрипт проверки:
**Linux/Mac:**
```bash
chmod +x check-build.sh
./check-build.sh
```
**Windows:**
```cmd
check-build.bat
```
Скрипт покажет, в какую папку собирается проект (dist или build).
---
## ✅ Решение 3: Настройка через Netlify UI
Если проблема сохраняется:
1. Зайдите в **Site settings** → **Build & deploy** → **Build settings**
2. Измените **Publish directory** на:
- `build` (если Vite собирает в build)
- `dist` (если Vite собирает в dist)
3. Сохраните и запустите новый деплой
---
## ✅ Решение 4: Принудительная сборка в dist
Если хотите использовать именно `dist`, убедитесь что `vite.config.ts` правильный:
```typescript
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
export default defineConfig({
plugins: [react()],
build: {
outDir: 'dist', // Явно указываем dist
emptyOutDir: true,
},
});
```
Затем в `netlify.toml`:
```toml
[build]
command = "npm run build"
publish = "dist"
```
---
## 🔍 Диагностика
### Проверка логов Netlify
В логах деплоя ищите строки типа:
```
build/assets/index-xxxxx.js
```
или
```
dist/assets/index-xxxxx.js
```
Это покажет, в какую папку собирается проект.
### Локальная проверка
```bash
# Очистка
rm -rf dist build node_modules
# Установка
npm install
# Сборка
npm run build
# Проверка результата
ls -la
# Должна появиться папка dist или build
```
---
## 📝 Текущая конфигурация
**netlify.toml** настроен на: `publish = "build"`
Это основано на логах деплоя, где видно:
```
build/assets/index-Bi1CT-Fn.js 244.81 kB │ gzip: 69.31 kB
✓ built in 1.93s
```
---
## 🚀 Быстрое решение
1. **Закоммитьте изменения:**
```bash
git add netlify.toml
git commit -m "Fix: Update Netlify publish directory to build"
git push
```
2. **Netlify автоматически запустит новый деплой**
3. **Готово!** Сайт должен задеплоиться успешно
---
## 🆘 Если всё ещё не работает
### Вариант A: Смените платформу на Cloudflare Pages
Cloudflare Pages лучше определяет конфигурацию автоматически:
1. https://pages.cloudflare.com
2. Build command: `npm run build`
3. Build output: попробуйте оба варианта - `dist` или `build`
### Вариант B: Используйте GitHub Pages
GitHub Pages workflow уже настроен в `.github/workflows/deploy.yml`:
1. Settings → Pages → Source: "GitHub Actions"
2. Готово! Деплой автоматический
---
## 📊 Проверочный лист
- [ ] netlify.toml обновлён (publish = "build")
- [ ] Закоммичены все изменения
- [ ] Запушен код в репозиторий
- [ ] Netlify автоматически запустил новый деплой
- [ ] Проверены логи деплоя
- [ ] Сайт открывается успешно
---
## ✅ Ожидаемый результат
После исправления в логах Netlify должно быть:
```
✓ built in 1.93s
Deploy site
────────────────────────────────────────────────────────────────
Deploy successful!
Website URL: https://your-site.netlify.app
```
Удачи! 🚀