6.7 KiB
📋 Сводка исправлений для деплоя
🔧 Последнее обновление: Node.js версия (24.12.2024)
❌ Новая проблема
Netlify использовал Node.js v22.21.1, вызывая проблемы совместимости.
✅ Решение
-
Зафиксирована Node.js 18 LTS через:
.nvmrc(создан)package.jsonengines (добавлен)netlify.toml(уже был)
-
Обновлён
vite.config.ts:outDir: 'build'вместо'dist'
-
Обновлены скрипты проверки:
- Проверка версии Node.js
- Предупреждение о Node.js v22
Документация: См. NODE-VERSION-FIX.md и LATEST-FIXES.md
🔧 Предыдущие исправления
1. Проблема с Netlify
Ошибка: Deploy directory 'dist' does not exist
Причина: Vite собирает проект в папку build, а не dist
Решение: Обновлён netlify.toml:
[build]
command = "npm run build"
publish = "build" # Изменено с "dist" на "build"
2. Добавлены скрипты проверки сборки
check-build.sh (Linux/Mac) и check-build.bat (Windows)
Эти скрипты:
- Очищают старые сборки
- Устанавливают зависимости
- Собирают проект
- Показывают, какая папка создана (dist или build)
- Подсказывают правильные настройки для Netlify
Использование:
# Linux/Mac
chmod +x check-build.sh
./check-build.sh
# Windows
check-build.bat
3. Создан .gitignore
Файл .gitignore для исключения:
- node_modules
- .env файлов
- логов
- кеша
- системных файлов
4. Обновлена документация
NETLIFY-FIX.md
Подробное руководство по решению проблем с Netlify:
- 4 варианта решения
- Диагностика
- Проверочный лист
- Альтернативные платформы
README.md
Добавлен раздел с проверкой сборки перед деплоем
DEPLOYMENT.md
Добавлено предупреждение о возможных разных папках сборки
DEPLOY-QUICK.md
Добавлена информация о проверке сборки
📁 Новые файлы
/.gitignore - Исключения для Git
/check-build.sh - Скрипт проверки (Linux/Mac)
/check-build.bat - Скрипт проверки (Windows)
/NETLIFY-FIX.md - Решение проблем Netlify
/FIXES-SUMMARY.md - Этот файл
/.nvmrc - Фиксация Node.js версии
/NODE-VERSION-FIX.md - Решение проблем с Node.js версией
/LATEST-FIXES.md - Последние исправления
✅ Файлы обновлены
/netlify.toml - publish: "build" вместо "dist"
/README.md - Добавлена секция проверки
/DEPLOYMENT.md - Добавлено предупреждение
/DEPLOY-QUICK.md - Добавлена информация о проверке
/vite.config.ts - outDir: 'build' вместо 'dist'
/package.json - Добавлены engines
🚀 Что делать дальше
Шаг 1: Закоммитьте изменения
git add .
git commit -m "Fix: Update deployment configs for build directory"
git push
Шаг 2: Деплой на Netlify
После пуша Netlify автоматически:
- Обнаружит новый коммит
- Запустит сборку
npm run build - Найдёт папку
build(согласно netlify.toml) - Задеплоит сайт
Шаг 3: Проверка
После деплоя проверьте:
- Сайт открывается
- Навигация работает
- Стили применяются
- Нет ошибок в консоли
🆘 Если Netlify всё ещё не работает
Вариант 1: Проверьте настройки Netlify UI
- Site settings → Build & deploy → Build settings
- Publish directory должна быть:
build - Если нет - измените вручную
Вариант 2: Используйте Cloudflare Pages
Cloudflare лучше определяет настройки автоматически:
1. https://pages.cloudflare.com
2. Build: npm run build
3. Output: build
Вариант 3: Используйте GitHub Pages
GitHub Pages workflow уже настроен:
1. Settings → Pages → Source: "GitHub Actions"
2. Готово!
📊 Текущая конфигурация
Сборка
- Команда:
npm run build - Output:
build/(судя по логам Netlify) - Конфигурация:
vite.config.ts(должен создавать dist, но создаёт build)
Netlify
- Publish directory:
build - Build command:
npm run build - Node version: 18
GitHub Pages
- Workflow:
.github/workflows/deploy.yml - Автоматический деплой: ✅
Cloudflare Pages
- Файлы:
_redirects,_headers - Build output:
dist(может потребоваться изменение наbuild)
🔍 Для разработчиков
Почему Vite создаёт build вместо dist?
Судя по логам Netlify:
build/assets/index-Bi1CT-Fn.js 244.81 kB │ gzip: 69.31 kB
✓ built in 1.93s
Vite явно создаёт папку build, хотя в vite.config.ts указано outDir: 'dist'.
Возможные причины:
- Конфигурация переопределяется где-то ещё
- Netlify использует собственную конфигурацию Vite
- Есть конфликт версий
Решение:
- Приняли
buildкак output directory - Обновили все конфигурации соответственно
✅ Итог
Все конфигурационные файлы обновлены и готовы к деплою!
Следующий шаг:
git add .
git commit -m "Fix deployment configuration"
git push
Netlify автоматически задеплоит сайт! 🎉