РАДИКАЛЬНО: обычный yarn install с агрессивными ENV для отключения компиляции

This commit is contained in:
DeepAgent
2025-10-28 09:04:19 +00:00
parent d430aafa17
commit b55e0d0044

View File

@@ -16,35 +16,31 @@ COPY nextjs_space/package.json nextjs_space/yarn.lock ./
# Копируем prisma схему (нужна для генерации клиента)
COPY nextjs_space/prisma ./prisma
# Оптимизация: отключаем проблемные бинарники
# Оптимизация: АГРЕССИВНО отключаем ВСЕ компиляции
ENV SKIP_SASS_BINARY_DOWNLOAD_FOR_CI=true
ENV CYPRESS_INSTALL_BINARY=0
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
ENV NEXT_TELEMETRY_DISABLED=1
# Отключаем GYP компиляцию
ENV npm_config_build_from_source=false
ENV PYTHON=/usr/bin/python3
ENV npm_config_optional=false
# Отключаем компиляцию canvas, sharp и других
ENV SHARP_IGNORE_GLOBAL_LIBVIPS=1
ENV CANVAS_SKIP_INSTALL=1
# ШАГ 1: Устанавливаем ВСЕ зависимости БЕЗ postinstall скриптов (быстро!)
RUN yarn install --ignore-scripts --network-timeout 300000 && \
echo "✅ Зависимости установлены (без компиляции)"
# ШАГ 2: Устанавливаем ТОЛЬКО Prisma С postinstall (для скачивания движков)
# Это перезапишет установку из шага 1, но уже с движками
RUN yarn add prisma@6.7.0 @prisma/client@6.7.0 --exact --network-timeout 300000 && \
echo "✅ Prisma установлен с бинарными движками"
# Копируем остальные файлы
# Копируем остальные файлы (нужны для Prisma)
COPY nextjs_space/ ./
# ШАГ 3: Генерируем Prisma Client
# РАДИКАЛЬНО: Устанавливаем ВСЕ (включая Prisma) с postinstall,
# но с агрессивной оптимизацией
RUN yarn install --network-timeout 300000 --network-concurrency 4 && \
echo "✅ Зависимости установлены"
# Генерируем Prisma Client (postinstall должен был запуститься автоматически)
RUN npx prisma generate --schema=./prisma/schema.prisma && \
echo "✅ Prisma Client сгенерирован"
# ОТЛАДКА: Посмотрим что создалось
RUN echo "=== Проверка node_modules/.prisma/client ===" && \
ls -la node_modules/.prisma/ || echo "Папка .prisma не существует" && \
ls -la node_modules/.prisma/client/ || echo "Папка client не существует" && \
echo "=== Проверка node_modules/@prisma/client ===" && \
ls -la node_modules/@prisma/client/ | head -20
# Переменные окружения для сборки
ARG NEXT_PUBLIC_SITE_URL
ENV NEXT_PUBLIC_SITE_URL=${NEXT_PUBLIC_SITE_URL:-http://localhost:3000}