💥 "Как я пыталась развернуть сайт, но Vercel решил, что я недостаточно достойна"
🎭 Акт I: Архитектура против Vercel'а
"Фронт отдельно, бэк отдельно. А Vercel хочет всё
в одном мешке. Я говорю: нет. Он говорит: билд failed."
в одном мешке. Я говорю: нет. Он говорит: билд failed."
·
Проект структурирован идеально: frontend/, backend/,
.venv/, всё по папочкам.
Проект структурирован идеально: frontend/, backend/,
.venv/, всё по папочкам.
·
Но Vercel смотрит на корень и не понимает, где package.json.
Но Vercel смотрит на корень и не понимает, где package.json.
·
Решение: указать Root Directory → frontend. Но
это только начало.
Решение: указать Root Directory → frontend. Но
это только начало.
🧠 Акт II: TypeScript — есть, но как будто нет
"tsconfig лежит, типы прописаны, но Vercel орёт:
'Please install typescript and @types/node'. Я уже установила. Он не
верит."
'Please install typescript and @types/node'. Я уже установила. Он не
верит."
·
Ошибка: Vercel не видит TypeScript, хотя он
установлен.
Ошибка: Vercel не видит TypeScript, хотя он
установлен.
·
Причина: package-lock.json не синхронизирован,
зависимости не подтягиваются.
Причина: package-lock.json не синхронизирован,
зависимости не подтягиваются.
·
Я вручную ставлю: npm install --save-dev typescript @types/node
Я вручную ставлю: npm install --save-dev typescript @types/node
·
Vercel всё равно в истерике. Я — в терминале.
Vercel всё равно в истерике. Я — в терминале.
🧱 Акт III: SWC и его призрачные зависимости
"Next.js говорит: 'lockfile missing swc
dependencies'. Я говорю: 'А ты сам не можешь их поставить?' Он молчит."
dependencies'. Я говорю: 'А ты сам не можешь их поставить?' Он молчит."
·
SWC — компилятор, который Next.js использует.
SWC — компилятор, который Next.js использует.
·
Без него билд не идёт, даже если код идеален.
Без него билд не идёт, даже если код идеален.
·
Решение: локальный next build → он сам патчит package-lock.json
→ пуш → Vercel успокаивается (временно).
Решение: локальный next build → он сам патчит package-lock.json
→ пуш → Vercel успокаивается (временно).
🧼 Акт IV: ESLint — линтер, которого я не звала
"Я не включала линтинг. Но Vercel требует ESLint.
Я ставлю. Он доволен. Я — нет."
Я ставлю. Он доволен. Я — нет."
·
Ошибка: "ESLint must be installed"
Ошибка: "ESLint must be installed"
·
Решение: npm install --save-dev eslint
Решение: npm install --save-dev eslint
·
Даже если не используешь — Vercel требует,
потому что он любит порядок. Или просто вредничает.
Даже если не используешь — Vercel требует,
потому что он любит порядок. Или просто вредничает.
🧨 Акт V: Финал, но не Happy End
"Я сделала всё. Всё. Но билд всё равно не
проходит. Я запускаю next build в
терминале. Он проходит. Я улыбаюсь сквозь боль."
проходит. Я запускаю next build в
терминале. Он проходит. Я улыбаюсь сквозь боль."
Сайт не развернулся. Я поняла — нужно идти
другим путём.
другим путём.
🧑🚀 Акт
VI: Победа через терминал
VI: Победа через терминал
"Я
открыла PowerShell. Написала vercel --prod.
И Vercel — вдруг понял всё. CLI — это как говорить напрямую с сервером, без
переводчика."
открыла PowerShell. Написала vercel --prod.
И Vercel — вдруг понял всё. CLI — это как говорить напрямую с сервером, без
переводчика."
·
CLI задал вопросы: имя проекта, директория,
настройки — всё по делу
CLI задал вопросы: имя проекта, директория,
настройки — всё по делу
·
Определил, что это Next.js, сам нашёл команды
Определил, что это Next.js, сам нашёл команды
·
Создал .vercel, связал проект, провёл билд за 6
секунд
Создал .vercel, связал проект, провёл билд за 6
секунд
Vercel не понял моей архитектуры. Я поняла,
что Vercel — не архитектор.
что Vercel — не архитектор.
Сайт живёт, но не благодаря Vercel. Благодаря мне.
🧘♀️ Финал: CLI — мой боевой интерфейс
"GUI — для тех, кто хочет, чтобы всё было просто. CLI — для тех, кто знает, что делает. Я — архитектор. И теперь мой сайт живёт."
🏁 Вывод:
"Иногда проще не спорить с облаком, а просто взять всё в свои руки. Терминал — мой храм. Vercel — мой тест на терпение."
🧠 Эпилог: Архитектор в мире багов и билдов
"Я победила Vercel. Через CLI. Через боль. Но это только начало. Мир программирования — как калькулятор с бесконечными функциями. И я только начала нажимать кнопки."
·
Каждая ошибка — это не провал, а подсказка.
Каждая ошибка — это не провал, а подсказка.
·
Каждая сборка — это не просто деплой, а проверка
на прочность.
Каждая сборка — это не просто деплой, а проверка
на прочность.
·
Каждая команда в терминале — как заклинание,
которое ты учишь наизусть.
Каждая команда в терминале — как заклинание,
которое ты учишь наизусть.
🧪 Что дальше?
"Нужно
ещё учиться. Много. И не просто учиться — а взламывать шаблоны, понимать архитектуру,
строить системы, которые не боятся линтеров, билдов и Vercel'а."
ещё учиться. Много. И не просто учиться — а взламывать шаблоны, понимать архитектуру,
строить системы, которые не боятся линтеров, билдов и Vercel'а."
·
Учить TypeScript, чтобы код был как броня
Учить TypeScript, чтобы код был как броня
·
Понять, как работает билд — не просто жать
кнопки, а понимать, что происходит под капотом
Понять, как работает билд — не просто жать
кнопки, а понимать, что происходит под капотом
·
Настроить всё так, чтобы даже Vercel сказал:
“Окей, я сдаюсь”
Настроить всё так, чтобы даже Vercel сказал:
“Окей, я сдаюсь”
·
Разобраться в DNS, хостинге, и как домен
превращается в доступный сайт
Разобраться в DNS, хостинге, и как домен
превращается в доступный сайт
·
Не бояться терминала. Потому что там
живёт истина.
Не бояться терминала. Потому что там
живёт истина.
·
Развернуть бэкенд — не просто чтобы он работал,
а чтобы понимать, как он дышит
Развернуть бэкенд — не просто чтобы он работал,
а чтобы понимать, как он дышит
·
Настроить обновление — чтобы не было “ой, всё
сломалось”, а было “я знаю, где и почему”
Настроить обновление — чтобы не было “ой, всё
сломалось”, а было “я знаю, где и почему”
·
Понять, как деплой связан с Git, ветками и
доменами
Понять, как деплой связан с Git, ветками и
доменами
·
Сделать так, чтобы CalcGalaxy обновлялся по
щелчку, а не по молитве
Сделать так, чтобы CalcGalaxy обновлялся по
щелчку, а не по молитве
Всегда с вами Galaxina)
vercel
развертывание
сайт
опыт
программирование
фронтенд
frontend
next.js
cli
deploy
Creator has disabled comments for this post.