Files
softclick-landing/scripts/docs/NODE-VERSION-FIX.md
2026-04-02 23:35:06 +03:00

209 lines
5.8 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
## Проблема
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
Удачи! 🚀