Получайте уведомления о предстоящих релизах Intlayer

    Ошибка при сборке в CI/CD

    Если вы получаете ошибку такого вида в Next.js:

    Error: An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error

    Вот несколько решений:

    1. Отсутствуют словари

    Убедитесь, что словари собираются на этапе сборки.

    Часто сборка работает локально, но не на CI/CD. Причина в том, что локально каталог .intlayer присутствует, а на CI/CD его нет, так как он исключён из сборки.

    Вы можете исправить это, добавив скрипт предварительной сборки (prebuild) в package.json вашего проекта.

    {  // ...  "scripts": {    "prebuild": "npx intlayer dictionaries build", // Будет выполнен перед сборкой    "build": "next build",  },}
    Обратите внимание, что если вы используете функцию withIntlayer или эквивалентный плагин для сборщика вашего фреймворка, скрипт предварительной сборки будет выполнен перед сборкой.

    2. Отсутствие переменных окружения во время сборки или выполнения

    В контейнере или на платформе с автоматическим деплоем рекомендуется исключать файл .env из сборки.

    .gitignore or .dockerignore
    # Переменные окружения.env**/.env.env.***/.env.*

    Если ваши переменные окружения недоступны во время сборки, будет выброшена ошибка.

    import { Metadata } from "next";export const generateMetadata = async ({ params }): Promise<Metadata> => ({  metadataBase: new URL(process.env.NEXT_PUBLIC_URL), // Базовый URL из переменной окружения});

    Вероятно, это не связано с Intlayer. Поэтому проверьте ваши переменные окружения во время сборки на вашей CI/CD платформе.