refactor: chaange figma structure with single package
This commit is contained in:
208
scripts/docs/NODE-VERSION-FIX.md
Normal file
208
scripts/docs/NODE-VERSION-FIX.md
Normal file
@@ -0,0 +1,208 @@
|
||||
# 🔧 Исправление проблем с версией 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
|
||||
|
||||
Удачи! 🚀
|
||||
Reference in New Issue
Block a user