============================================== ИТОГОВАЯ СВОДКА: История оптимизации сборки ============================================== ПРОБЛЕМА #1: Зависание на 16+ часов ------------------------------------ Симптомы: - yarn install зависал на компиляции нативных модулей - Процесс не завершался даже после 16 часов Попытка исправления #1: --ignore-scripts ✅ Результат: Установка ускорилась до 3-5 минут ❌ Проблема: Нет бинарных движков для Prisma ПРОБЛЕМА #2: Ошибка Prisma Client ---------------------------------- Симптомы: Type error: Module '"@prisma/client"' has no exported member 'PrismaClient' Попытка исправления #2: Трехшаговая установка Шаги: 1. yarn add prisma (с postinstall) 2. npx prisma generate 3. yarn install --ignore-scripts (для остальных пакетов) ❌ Результат: Шаг 3 переустанавливает @prisma/client из кэша, стирая сгенерированные файлы Попытка исправления #3: Обратный порядок Шаги: 1. yarn install --ignore-scripts (ВСЕ пакеты) 2. yarn add prisma (С postinstall) 3. npx prisma generate ❌ Результат: TypeScript все равно не видит экспорты ФИНАЛЬНОЕ РЕШЕНИЕ #4: Обычная установка с ENV ---------------------------------------------- Концепция: - Отказываемся от --ignore-scripts - Устанавливаем ВСЕ зависимости с postinstall - Используем переменные окружения для отключения компиляции Код: ```dockerfile ENV SKIP_SASS_BINARY_DOWNLOAD_FOR_CI=true ENV CYPRESS_INSTALL_BINARY=0 ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true ENV npm_config_build_from_source=false ENV SHARP_IGNORE_GLOBAL_LIBVIPS=1 ENV CANVAS_SKIP_INSTALL=1 RUN yarn install --network-timeout 300000 --network-concurrency 4 RUN npx prisma generate --schema=./prisma/schema.prisma ``` Ожидаемое время: 13-15 минут Статус: ⏳ ТЕСТИРУЕТСЯ СРАВНЕНИЕ ВСЕХ ПОДХОДОВ ------------------------ 1. Обычный install → 16+ часов ⛔ Слишком долго 2. --ignore-scripts → 3-5 минут ⛔ Нет движков Prisma 3. Prisma first → 8-12 минут ⛔ Стирается генерация 4. install → Prisma → 8-12 минут ⛔ TypeScript не видит 5. ENV + обычный install → 13-15 минут ⏳ ТЕСТИРУЕМ БЫСТРЫЙ СТАРТ ------------- cd /home/ubuntu/global_it24_landing git pull origin master docker system prune -a # Нажмите 'y' ./deploy-simple.sh ДОКУМЕНТАЦИЯ ------------ BUILD_OPTIMIZATION.md - полная история оптимизации RADICAL_FIX.md - текущее решение (v4) FIX_PRISMA.md - детали проблемы Prisma QUICK_FIX.md - первое исправление зависания DATABASE.md - работа с PostgreSQL README.deployment.md - инструкции по развертыванию РЕПОЗИТОРИЙ ----------- git.mscsrv.ru/sa/global_it24_landing.git Последний коммит: "РАДИКАЛЬНО: обычный yarn install с агрессивными ENV для отключения компиляции" TROUBLESHOOTING --------------- 1. Зависает на "Building fresh packages" > 5 минут → Ctrl+C и сообщите мне 2. Ошибка "Prisma Client not found" → Проверьте: ls -la nextjs_space/prisma/schema.prisma 3. Ошибка TypeScript → Пришлите полный вывод "yarn build" СЛЕДУЮЩИЕ ШАГИ -------------- 1. Запустите сборку: ./deploy-simple.sh 2. Следите за логами (ищите зависание на "Building fresh packages") 3. Если успешно - проверьте: ./status.sh && curl http://localhost:3000 4. Отправьте результат (успех или детали ошибки) КЛЮЧЕВАЯ ИДЕЯ ------------- Не боремся с postinstall скриптами! Позволяем им запускаться, но блокируем компиляцию через ENV. Prisma работает (его postinstall только скачивает файлы). ============================================ ДАТА: 28 октября 2025 ВЕРСИЯ: v4 (радикальное решение) СТАТУС: ⏳ ТЕСТИРУЕТСЯ ============================================