К содержанию

Главное

Ошибки сборки

Эти ошибки возникают, когда Docara читает проект и записывает результат: команды build, serve и пересборка одной страницы build --page. Ошибки в тексте страниц описаны отдельно — в разделе «Ошибки страниц и Markdown».

Корень проекта и пути

Корень проекта — папка с docara.json. Все пути в настройках пишутся относительно него.

Код Причина и что сделать
ROOT_NOT_FOUND, PORTABLE_ROOT_INVALID Папки проекта нет или её нельзя прочитать. Что сделать: Запустите команду из папки с docara.json или укажите путь к ней.
ROOT_PATH_INVALID Путь к проекту пустой или содержит ... Что сделать: Укажите путь к папке проекта без переходов на уровень выше.
ABSOLUTE_PATH_FORBIDDEN В настройках указан абсолютный путь, например /Users/…/content. Что сделать: Запишите путь относительно корня проекта: content/ru.
RELATIVE_PATH_INVALID Путь в настройках пустой или содержит обратную косую черту \. Что сделать: Запишите путь через /: content/ru.
PORTABLE_FILE_READ_FAILED Файл страницы не читается. Что сделать: Проверьте, что файл существует и доступен для чтения.

Слои настроек

Настройки складываются из docara.json, section.json и <страница>.page.json. Как работает сброс ветки, описано в разделе «Сайт, раздел и страница».

Код Причина и что сделать
CONFIGURATION_ROOT_INVALID Файл настроек — не JSON-объект, например массив или строка. Что сделать: Начните файл с { и закончите }.
RESET_DIRECTIVE_INVALID $reset указан не как true или рядом с $value есть другие ключи. Что сделать: Пишите {"$reset": true} или {"$reset": true, "$value": {…}} без других ключей.

Пересборка одной страницы

docara build --page /ru/раздел/страница/ пересобирает одну страницу поверх готовой полной сборки. Если полная сборка устарела или изменилось то, что влияет на другие страницы, команда останавливается, чтобы не оставить сайт наполовину старым.

Код Причина и что сделать
PORTABLE_PAGE_SELECTOR_INVALID Адрес страницы записан не как публичный адрес. Что сделать: Укажите адрес с / в начале и в конце: /ru/components/badge/.
PORTABLE_PAGE_NOT_FOUND В последней полной сборке нет страницы с таким адресом — например, страницу только что добавили или переименовали. Что сделать: Выполните полную сборку.
PORTABLE_INCREMENTAL_BUILD_PURPOSE_CHANGED Готовая сборка сделана для другого окружения. Что сделать: Выполните полную сборку для нужного окружения, затем пересобирайте страницы.
PORTABLE_INCREMENTAL_ENGINE_CHANGED После полной сборки обновились Docara или её зависимости. Что сделать: Выполните полную сборку.
PORTABLE_INCREMENTAL_THEME_CHANGED После полной сборки изменилась тема сайта. Что сделать: Выполните полную сборку.
PORTABLE_INCREMENTAL_EXAMPLE_CHANGED Изменился общий пример из папки examples/, а он может стоять и на других страницах. Что сделать: Выполните полную сборку.
PORTABLE_INCREMENTAL_DIAGNOSTICS_INCOMPLETE, PORTABLE_INCREMENTAL_DIAGNOSTICS_INVALID В готовой сборке нет полных сведений о страницах или страница с тех пор изменила адрес. Что сделать: Выполните полную сборку.
PORTABLE_INCREMENTAL_ATLAS_BASE_INVALID, PORTABLE_INCREMENTAL_BACKLINK_BASE_INVALID, PORTABLE_INCREMENTAL_COMPONENT_INDEX_BASE_INVALID, PORTABLE_INCREMENTAL_EXAMPLE_BASE_INVALID, PORTABLE_INCREMENTAL_FRAMEWORK_ASSET_BASE_INVALID, PORTABLE_INCREMENTAL_SCHEMA_REFERENCE_BASE_INVALID, PORTABLE_INCREMENTAL_SEARCH_BASE_INVALID В готовой сборке нет или повреждены общие данные сайта: каталог компонентов, обратные ссылки, поиск, примеры. Обычно это сборка от старой версии или прерванная сборка. Что сделать: Выполните полную сборку.
PORTABLE_INCREMENTAL_BASE_COPY_FAILED Готовую сборку не удалось скопировать во временную папку. Что сделать: Проверьте место на диске и права на папку сборки, затем повторите.

Файлы и адреса в результате

Код Причина и что сделать
PORTABLE_ASSET_OUTPUT_COLLISION Файл из содержимого попадает по тому же адресу, что и служебный файл Docara, например в _docara/ или на место страницы. Что сделать: Переименуйте файл или переместите его в assets/.
PORTABLE_ASSET_SOURCE_COLLISION Файл из корневой папки assets/, на который ссылается страница, и другой файл из папки языка получают один адрес, но отличаются содержимым. Что сделать: Переименуйте один из файлов.
PORTABLE_LOCAL_ASSET_RECEIPT_UNSAFE Файла из /assets/, на который ссылается страница, нет, или это символическая либо жёсткая ссылка. Что сделать: Положите в assets/ обычный файл и пересоберите сайт.
PORTABLE_BUILD_LOCALE_MISMATCH Страница лежит в папке одного языка, а сборка идёт для другого. Что сделать: Проверьте content_root языков в docara.json и положите страницу в папку своего языка.

Запись и замена каталога сборки

Docara собирает сайт во временную папку и заменяет старый результат, только когда новая сборка готова. Если замена не удалась, предыдущая сборка возвращается на место.

Код Причина и что сделать
DESTINATION_OUTSIDE_SITE_FORBIDDEN Каталог сборки лежит вне проекта или называется не build и не build_*. Что сделать: Собирайте в build_<окружение> внутри проекта.
DESTINATION_SYMLINK_FORBIDDEN Каталог сборки — символическая ссылка. Что сделать: Замените ссылку обычной папкой; чтобы публиковать в другое место, копируйте готовую сборку.
DESTINATION_INPUT_OVERLAP_FORBIDDEN Каталог сборки совпадает с исходными папками или вложен в них, например в content/. Что сделать: Выберите отдельный каталог build_<окружение>.
DESTINATION_ROLLBACK_SYMLINK_FORBIDDEN Каталог сборки или папка квитанций — символическая ссылка. Что сделать: Замените ссылку обычной папкой; чтобы публиковать в другое место, копируйте готовую сборку.
DESTINATION_ROLLBACK_PREPARE_FAILED, DESTINATION_PROMOTION_FAILED Новую сборку не удалось поставить на место старой; старая сборка восстановлена. Что сделать: Проверьте права на папку и закройте программы, которые держат её файлы, затем повторите.
DESTINATION_PROMOTION_AND_RESTORE_FAILED Новую сборку не удалось поставить на место, и старую вернуть тоже не удалось. Что сделать: Выполните полную сборку заново; до этого не публикуйте каталог сборки.
DESTINATION_ROLLBACK_CLEANUP_FAILED Сборка готова, но не удалось удалить временную копию прошлой сборки. Что сделать: Удалите вручную папку <каталог сборки>.docara-rollback или <каталог сборки>.docara.rollback рядом с каталогом сборки.
DESTINATION_CANDIDATE_INVALID Временная папка новой сборки пропала или в ней нет квитанций. Что сделать: Повторите сборку; не запускайте две сборки одного проекта одновременно.
PORTABLE_BUILD_IN_PROGRESS В тот же каталог сборки уже идёт другая сборка: например, serve и build запущены одновременно. Вторая сборка останавливается сразу и ничего не меняет. Что сделать: Дождитесь конца первой сборки и запустите вторую снова. Файл <каталог сборки>.docara-lock рядом с каталогом сборки удалять не нужно.
PORTABLE_BUILD_LOCK_FAILED Не удалось открыть файл <каталог сборки>.docara-lock, который отмечает идущую сборку. Что сделать: Проверьте права на запись в папке проекта, затем повторите.
BUILD_PURPOSE_UNSUPPORTED verify-static проверяет сборку, сделанную не для публикации, например командой serve. Что сделать: Соберите сайт командой docara build production и проверьте эту сборку.
PORTABLE_DIAGNOSTIC_WRITE_FAILED, PORTABLE_PERFORMANCE_RECEIPT_WRITE_FAILED Не удалось записать служебный отчёт сборки. Что сделать: Проверьте место на диске и права на запись, затем повторите.
PORTABLE_PERFORMANCE_HTML_INVALID, PORTABLE_PERFORMANCE_PAGE_INVALID, PORTABLE_PERFORMANCE_PAGE_UNSAFE, PORTABLE_PERFORMANCE_RESOURCE_OUTSIDE_BASE, PORTABLE_PERFORMANCE_RESOURCE_TRAVERSAL, PORTABLE_PERFORMANCE_RESOURCE_UNSAFE, PORTABLE_PERFORMANCE_RESOURCE_URL_INVALID, PORTABLE_VENDOR_SELECTION_INPUT_INVALID Отчёт о весе страниц не смог разобрать готовую страницу или файл, на который она ссылается: файл пропал, ведёт за пределы base_url или стал ссылкой. Что сделать: Проверьте base_url в docara.json и ссылки на файлы в шаблонах проекта, затем выполните полную сборку.

См. также