# 🔧 Исправление проблем с версией Node.js ## Проблема Netlify использует Node.js v22, которая может быть несовместима с некоторыми пакетами (Vite, Tailwind CSS v4, и др.). ## ✅ Решение (УЖЕ ПРИМЕНЕНО) Версия Node.js зафиксирована на **18 LTS** следующими способами: ### 1. Файл .nvmrc ``` 18 ``` ### 2. package.json ```json { "engines": { "node": ">=18.0.0 <22.0.0", "npm": ">=9.0.0" } } ``` ### 3. netlify.toml ```toml [build.environment] NODE_VERSION = "18" ``` ### 4. vite.config.ts Обновлён `outDir` на `build`: ```typescript export default defineConfig({ build: { outDir: 'build', // Изменено с 'dist' на 'build' emptyOutDir: true, sourcemap: false, }, }); ``` --- ## 🚀 Что делать дальше ### Шаг 1: Закоммитьте изменения ```bash git add . git commit -m "Fix: Pin Node.js to v18 LTS and update build output to 'build'" git push ``` ### Шаг 2: Netlify автоматически запустит деплой После пуша Netlify: - Использует Node.js v18 (из .nvmrc) - Соберёт проект командой `npm run build` - Найдёт папку `build` (из vite.config.ts и netlify.toml) - Задеплоит сайт --- ## 🔍 Проверка локально Убедитесь что у вас локально Node.js 18: ```bash # Проверить версию node -v # Если используете nvm (рекомендуется) nvm install 18 nvm use 18 # Проверить сборку ./check-build.sh # Linux/Mac check-build.bat # Windows ``` --- ## 📊 Почему Node.js 22 вызывает проблемы? Node.js 22 - это очень новая версия (выпущена в апреле 2024), и многие популярные инструменты ещё не полностью протестированы с ней: - **Vite 5.x** - стабильно работает на Node 18-20 - **Tailwind CSS v4** - новая версия, оптимизирована для Node 18+ - **PostCSS** - лучшая совместимость на Node 18 LTS - **TypeScript** - рекомендует Node 18 LTS **Node.js 18 LTS** (Long Term Support): - Поддержка до апреля 2025 - Максимальная стабильность - Совместимость со всеми популярными инструментами --- ## 🆘 Если проблема сохраняется ### 1. Проверьте полные логи Netlify В Netlify UI зайдите в: - **Deploys** → Выберите последний деплой - Нажмите на **Deploy log** - Найдите строки после "Finished restoring cached build plugins" ### 2. Очистите кеш Netlify В настройках Netlify: 1. **Site settings** → **Build & deploy** → **Build settings** 2. Нажмите **Clear cache and retry deploy** ### 3. Проверьте локальную сборку ```bash # Очистите всё rm -rf node_modules dist build package-lock.json # Переустановите зависимости npm install # Соберите npm run build # Проверьте результат ls -la build/ ``` Если локально собирается без ошибок, но на Netlify нет - проблема в среде Netlify. ### 4. Альтернативные платформы Если Netlify продолжает давать ошибки, используйте: #### Cloudflare Pages (рекомендуется) ``` 1. https://pages.cloudflare.com 2. Build: npm run build 3. Output: build 4. Node version: 18 ``` #### GitHub Pages ``` Settings → Pages → Source: "GitHub Actions" (Workflow уже настроен в .github/workflows/deploy.yml) ``` --- ## 📋 Проверочный лист - [x] Создан `.nvmrc` с версией 18 - [x] Добавлен `engines` в `package.json` - [x] `netlify.toml` указывает `NODE_VERSION = "18"` - [x] `vite.config.ts` использует `outDir: 'build'` - [x] `netlify.toml` указывает `publish = "build"` - [ ] Закоммичены все изменения - [ ] Запушен код в GitHub - [ ] Netlify запустил новый деплой - [ ] Деплой успешен --- ## ✅ Ожидаемый результат После исправлений в логах Netlify должно быть: ``` v18.x.x is already installed. Now using node v18.x.x (npm v9.x.x) ... npm run build ... vite v5.x.x building for production... transforming... ✓ 1234 modules transformed. rendering chunks... build/assets/index-xxxxx.js 244.81 kB │ gzip: 69.31 kB ✓ built in 1.93s Deploy site ──────────────────────────────────────── ✓ Finished hashing 15 files ✓ CDN requesting 15 files ✓ Finished uploading 15 assets ✓ Deploy is live! Website URL: https://your-site.netlify.app ``` --- ## 📞 Дополнительная помощь Если после всех исправлений деплой всё ещё падает: 1. **Скопируйте полный лог** от "Build ready to start" до конца 2. Найдите строку с ошибкой (обычно красным цветом) 3. Поищите эту ошибку в интернете или создайте issue **Полезные ссылки:** - Netlify Node.js docs: https://docs.netlify.com/configure-builds/manage-dependencies/#node-js-and-javascript - Vite troubleshooting: https://vitejs.dev/guide/troubleshooting.html - Node.js LTS releases: https://nodejs.org/en/about/previous-releases Удачи! 🚀