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

231 lines
6.4 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.

# 🔧 Последние исправления (Node.js версия)
## Дата: 24 декабря 2024
## ❌ Проблема
Netlify использовал Node.js v22.21.1, что вызывало проблемы совместимости с:
- Vite 5.x
- Tailwind CSS v4
- PostCSS
- TypeScript build tools
## ✅ Решение
### 1. Зафиксирована версия Node.js на 18 LTS
**Создан `.nvmrc`:**
```
18
```
**Обновлён `package.json`:**
```json
{
"engines": {
"node": ">=18.0.0 <22.0.0",
"npm": ">=9.0.0"
}
}
```
**Уже был в `netlify.toml`:**
```toml
[build.environment]
NODE_VERSION = "18"
```
### 2. Исправлен output директорий в vite.config.ts
**Было:**
```typescript
build: {
outDir: 'dist',
}
```
**Стало:**
```typescript
build: {
outDir: 'build',
}
```
Теперь Vite создаёт папку `build`, что соответствует настройкам в `netlify.toml`.
### 3. Обновлены скрипты проверки
`check-build.sh` и `check-build.bat` теперь:
- Проверяют версию Node.js
- Предупреждают если используется Node.js v22
- Показывают размер и содержимое build/
---
## 📁 Изменённые файлы
```
/.nvmrc - СОЗДАН (новый)
/package.json - ОБНОВЛЁН (добавлен engines)
/vite.config.ts - ОБНОВЛЁН (outDir: 'build')
/check-build.sh - ОБНОВЛЁН (проверка Node версии)
/check-build.bat - ОБНОВЛЁН (проверка Node версии)
/NODE-VERSION-FIX.md - СОЗДАН (документация)
/LATEST-FIXES.md - СОЗДАН (этот файл)
/README.md - ОБНОВЛЁН (требования Node.js)
```
---
## 🚀 Что делать дальше
### 1. Закоммитьте все изменения
```bash
git status
git add .
git commit -m "Fix: Pin Node.js to v18 LTS and set Vite outDir to 'build'"
git push origin main
```
### 2. Netlify автоматически начнёт деплой
После пуша Netlify:
1. Прочитает `.nvmrc` → использует Node.js 18
2. Установит зависимости с `npm install`
3. Запустит `npm run build` → Vite создаст папку `build`
4. Опубликует содержимое `build/` (согласно `netlify.toml`)
### 3. Проверка деплоя
Откройте **Netlify Deploy Logs** и убедитесь что:
```
✅ v18.x.x is already installed.
✅ Now using node v18.x.x
✅ npm run build
✅ vite v5.x.x building for production...
✅ build/assets/index-xxxxx.js
✅ ✓ built in X.XXs
✅ Deploy successful!
```
---
## 🔍 Проверка локально (перед коммитом)
Убедитесь что у вас Node.js 18:
```bash
# Проверить версию Node
node -v
# Если не 18, установите через nvm
nvm install 18
nvm use 18
# Запустите скрипт проверки
chmod +x check-build.sh
./check-build.sh
# Должно показать:
# ✅ Node.js версия совместима (v18.x.x)
# ✅ BUILD OUTPUT: build
```
---
## 📊 Сравнение версий Node.js
| Версия | Статус | Совместимость | Рекомендация |
|--------|--------|---------------|--------------|
| Node.js 16 | EOL | ⚠️ Устарела | Обновите на 18 |
| Node.js 18 | LTS ✅ | ✅ Отлично | **Используйте** |
| Node.js 20 | LTS | ✅ Хорошо | Допустимо |
| Node.js 22 | Current | ⚠️ Проблемы | Не рекомендуется |
**LTS** = Long Term Support (долгосрочная поддержка)
---
## 🆘 Если деплой всё ещё не работает
### Вариант 1: Очистите кеш Netlify
1. Netlify UI → **Site settings** → **Build & deploy**
2. Нажмите **"Clear cache and retry deploy"**
### Вариант 2: Проверьте переменные окружения
В Netlify UI:
1. **Site settings** → **Environment variables**
2. Убедитесь что `NODE_VERSION` **НЕ** установлена вручную (или равна 18)
3. Если есть другое значение - удалите его (`.nvmrc` имеет приоритет)
### Вариант 3: Используйте Cloudflare Pages
Cloudflare Pages лучше работает с новыми версиями инструментов:
```
1. https://pages.cloudflare.com
2. Подключить GitHub репозиторий
3. Build command: npm run build
4. Build output: build
5. Environment variable: NODE_VERSION = 18
```
### Вариант 4: Используйте GitHub Pages
Уже настроено автоматически:
```
1. GitHub repo → Settings → Pages
2. Source: "GitHub Actions"
3. Workflow автоматически использует Node 18
```
---
## ✅ Контрольный список
- [x] Создан `.nvmrc` с версией 18
- [x] Добавлен `engines` в `package.json`
- [x] `vite.config.ts` обновлён (outDir: 'build')
- [x] Скрипты проверки обновлены
- [x] Документация обновлена
- [ ] **ВАШ ШАГ:** Закоммитьте изменения
- [ ] **ВАШ ШАГ:** Запушьте в GitHub
- [ ] **АВТОМАТИЧЕСКИ:** Netlify запустит деплой
- [ ] **ПРОВЕРЬТЕ:** Сайт задеплоен успешно
---
## 📖 Дополнительная документация
- **NODE-VERSION-FIX.md** - подробная информация о Node.js версиях
- **NETLIFY-FIX.md** - решение проблем с Netlify
- **DEPLOYMENT.md** - полная инструкция по деплою
- **DEPLOY-QUICK.md** - быстрая шпаргалка
---
## ✨ Ожидаемый результат
После коммита и пуша:
```
✓ Код запушен в GitHub
↓
✓ Netlify обнаружил изменения
↓
✓ Запущен build с Node.js 18
↓
✓ Vite создал папку build/
↓
✓ Netlify опубликовал build/
↓
✓ Сайт доступен: https://your-site.netlify.app
```
**Время деплоя:** ~2-3 минуты
Удачи! 🚀