HERON

Основы · 7

Если что-то пошло не так

Почти все проблемы новичков — одни и те же: Docker не запущен, порт занят, файлы принадлежат не тому пользователю, страница лежит не в той папке. Здесь они собраны с решениями, а ниже каждый код ошибки сборки объяснён простыми словами.

Найдите своё сообщение на странице через Command и F (macOS) или Ctrl и F. Если его здесь нет, само сообщение сборки подскажет, что делать.

Простыми словами

Когда что-то идёт не так, HERON старается сказать три вещи: где (файл и строка), что не так и что сделать. Дочитайте сообщение до конца, прежде чем искать: последняя строка обычно и есть решение.

Проблемы приходят из трёх мест. Docker (не запускается, не может открыть порт). Ваши файлы (пропущенная кавычка, страница не в той папке, нет фото). Публикация (сайт не обновился, домен не открывается). Разделы ниже идут в этом порядке.

Когда нужна эта страница: когда команда не сработала или сайт выглядит не так. Когда можно пропустить: когда всё работает.

Docker и терминал

Страницы и файлы

Коды ошибок сборки

Ошибка останавливает сборку. Сообщение начинается с кода, затем файл и строка.

КодЧто значитЧто сделать
E001Сломан блок настроек вверху страницыПроверьте кавычки, двоеточия и три дефиса в начале и конце блока
E002Нет title, h1 или description, или у поля значение не того видаЗаполните поле; дата — как 2026-10-19, order — число
E003У двух секций в одном файле одинаковый якорьПереименуйте один {#якорь}
E004Два файла дают один адресПереименуйте файл или поменяйте его slug
E005В имени файла или slug пробелы, заглавные или другие буквыТолько маленькие латинские буквы, цифры и дефисы
E006Поле связи указывает на страницу, которой нетПроверьте ключ страницы
E007Фото упомянуто, но файла нет в media/Проверьте имя файла и папку, включая заглавные буквы
E008В теме нет шаблона для этого типа страницыПроверьте type у страницы или спросите автора темы
E009Старый адрес в redirect_from — адрес живой страницыУберите его из списка
E010Тема просит значение, которого нетПроблема темы: сообщите автору, приложите сообщение
E011Ошибка в site.yamlПрочитайте строку из сообщения; чаще всего отступ или пропущенная кавычка
E012Версия HERON не подходит под строку heron: в site.yamlОбновите HERON или осознанно поменяйте строку
E013Тема из site.yaml не найденаПроверьте имя темы и папку theme/
E014Плагин из plugins: не установлен или упалУстановите его или уберите из списка
E015HTML-теги на страницеПерепишите средствами Markdown и форм секций
E016В якоре секции недопустимые символыМаленькие латинские буквы, цифры и дефисы в {#якорь}
E017В итоговой сборке нет ни одной страницыПроверьте папку content/
E018Фото лежат сразу в двух папкахДержите их только в media/
E019У видео нет постераДобавьте картинку-постер для видео
E020Не собирается разметка для поисковиковЗаполните в site.yaml адрес или другие поля, названные в сообщении
E021В основном языке нет страницДобавьте страницы в папку основного языка
E022Удалённый адрес из gone принадлежит живой страницеУберите его из gone
E023Тема называет поля, которых HERON не знаетПроблема темы: сообщите автору

Предупреждения в итоговой сборке

Итоговая сборка (--strict) останавливается и на предупреждениях. Самые частые:

  • title длиннее 60 знаков, description длиннее 155. Сократите: поисковики обрезают длинные.
  • ссылка … никуда не ведёт. Ссылка в тексте ведёт на страницу, которой нет. Проверьте адрес или напишите ключ страницы, например /get-started/.
  • страница есть только на одном языке. Добавьте перевод или смиритесь, что ссылка ведёт на другой язык.
  • секция, которую тема не использует. Обычно опечатка в якоре.

Полный список сохраняется в .heron-cache/warnings.txt рядом с dist/.

Публикация

Сборка на GitHub упала или ещё идёт.

  • Посмотрите. Вкладка Actions в репозитории: жёлтая точка — идёт, красный крестик — упала. Нажмите на неё и увидите то же сообщение, что и в своём терминале.
  • Исправьте и отправьте снова. Исправьте файл, затем git add . && git commit -m "Исправление" && git push.
  • Кэш браузера. Обновите страницу с зажатым Shift.

Пароль от аккаунта GitHub в терминале не принимает.

  • Решение. Вместо пароля вставьте токен. Как его создать: Git и GitHub.
  • Токен истёк. Создайте новый; старый продлить нельзя.

Не готовы DNS или сертификат.

  • Подождите. Новые DNS-записи расходятся за минуты, иногда за несколько часов.
  • Проверьте записи. Они должны точно совпадать с вашим хостингом: см. Ваш домен.
  • HTTPS. На GitHub Pages поставьте Enforce HTTPS, когда станет доступно; на сервере запустите certbot снова.

Всё ещё не получается?

Скопируйте сообщение из терминала целиком, со строками над ошибкой, и создайте issue на GitHub. Напишите, какая у вас система и какую команду вы запускали. ИИ-ассистент тоже может прочитать сообщение и документацию вместе с вами.