196 lines
4.7 KiB
Markdown
196 lines
4.7 KiB
Markdown
# 🔧 Решение проблемы с 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
|
||
```
|
||
|
||
Удачи! 🚀
|