Ошибки сборки
Эти ошибки возникают, когда 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 и ссылки на файлы в шаблонах проекта, затем выполните полную сборку. |