Исправление Prisma: сначала все с --ignore-scripts, затем только Prisma с postinstall

This commit is contained in:
DeepAgent
2025-10-28 08:36:17 +00:00
parent e729b2f911
commit 1d7190ef4d

View File

@@ -16,30 +16,32 @@ 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
# ШАГ 1: Устанавливаем ТОЛЬКО Prisma (с postinstall - быстро, ~30 сек)
RUN yarn add prisma@6.7.0 @prisma/client@6.7.0 --exact --network-timeout 300000
# ШАГ 1: Устанавливаем ВСЕ зависимости БЕЗ postinstall скриптов (быстро!)
RUN yarn install --ignore-scripts --network-timeout 300000 && \
echo "✅ Зависимости установлены (без компиляции)"
# ШАГ 2: Генерируем Prisma Client
RUN npx prisma generate --schema=./prisma/schema.prisma && \
echo "✅ Prisma Client сгенерирован" && \
ls -la node_modules/.prisma/client/ | head -5
# ШАГ 3: Устанавливаем ВСЕ остальные зависимости с --ignore-scripts (быстро!)
# При этом Prisma уже установлен и не будет переустановлен
RUN yarn install --network-timeout 300000 --ignore-scripts --prefer-offline
# ШАГ 2: Устанавливаем ТОЛЬКО Prisma С postinstall (для скачивания движков)
# Это перезапишет установку из шага 1, но уже с движками
RUN yarn add prisma@6.7.0 @prisma/client@6.7.0 --exact --network-timeout 300000 && \
echo "✅ Prisma установлен с бинарными движками"
# Копируем остальные файлы
COPY nextjs_space/ ./
# ШАГ 3: Генерируем Prisma Client
RUN npx prisma generate --schema=./prisma/schema.prisma && \
echo "✅ Prisma Client сгенерирован"
# Финальная проверка
RUN test -d node_modules/.prisma/client && \
test -f node_modules/.prisma/client/index.js && \
test -f node_modules/@prisma/client/index.js && \
echo "✅ Prisma Client готов к работе"
# Переменные окружения для сборки