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