Исправлено: трехшаговая установка зависимостей для корректной работы Prisma
This commit is contained in:
@@ -21,20 +21,26 @@ ENV SKIP_SASS_BINARY_DOWNLOAD_FOR_CI=true
|
||||
ENV CYPRESS_INSTALL_BINARY=0
|
||||
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
|
||||
ENV NEXT_TELEMETRY_DISABLED=1
|
||||
# Отключаем опциональные зависимости (которые могут компилироваться долго)
|
||||
ENV SKIP_OPTIONALS=1
|
||||
# Используем предсобранные бинарники для native modules
|
||||
ENV npm_config_build_from_source=false
|
||||
|
||||
# Устанавливаем ВСЕ зависимости (Prisma постinstall запустится автоматически)
|
||||
# Используем более короткий timeout и retry
|
||||
RUN yarn install --network-timeout 120000 --network-concurrency 5
|
||||
# ШАГ 1: Устанавливаем ТОЛЬКО Prisma (с postinstall - быстро, ~30 сек)
|
||||
RUN yarn add prisma@6.7.0 @prisma/client@6.7.0 --exact --network-timeout 300000
|
||||
|
||||
# ШАГ 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
|
||||
|
||||
# Копируем остальные файлы
|
||||
COPY nextjs_space/ ./
|
||||
|
||||
# Проверяем, что Prisma Client был сгенерирован
|
||||
RUN test -d node_modules/.prisma/client || (echo "ERROR: Prisma Client not generated!" && exit 1)
|
||||
# Финальная проверка
|
||||
RUN test -d node_modules/.prisma/client && \
|
||||
test -f node_modules/.prisma/client/index.js && \
|
||||
echo "✅ Prisma Client готов к работе"
|
||||
|
||||
# Переменные окружения для сборки
|
||||
ARG NEXT_PUBLIC_SITE_URL
|
||||
|
||||
Reference in New Issue
Block a user