Skip to main content

Устранение ошибок сборки Jekyll для сайтов GitHub Pages

Сообщения об ошибках в сборке Jekyll можно использовать для устранения неполадок в работе GitHub Pages.

Кто эту функцию можно использовать?

GitHub Pages доступен в общедоступных репозиториях с GitHub Free и GitHub Free для организаций, а также в общедоступных и частных репозиториях с GitHub Pro, GitHub Team, GitHub Enterprise Cloudи GitHub Enterprise Server. Дополнительные сведения см. в разделе "Планы GitHub".

Все сборки GitHub Pages будут использовать GitHub Actions с 30 июня 2024 года. Другие изменения не требуются, но для продолжения сборки необходимо включить GitHub Actions в репозитории. Дополнительные сведения о включении GitHub Actionsсм. в разделе "Управление параметрами GitHub Actions для репозитория".

Устранение ошибок сборки

Если Jekyll обнаруживает ошибку при создании сайта GitHub Pages локально или на GitHub, вы можете использовать сообщения об ошибках для устранения неполадок. Дополнительные сведения об сообщениях об ошибках и их просмотре см. в разделе "Сведения об ошибках сборки Jekyll для сайтов GitHub Pages".

Если вы получили общее сообщение об ошибке, проверьте распространенные проблемы.

  • Вы используете неподдерживаемые модули. Дополнительные сведения см. в разделе "Сведения о GitHub Pages и Jekyll".
  • Размер вашего репозитория превысил наши ограничения на размер репозитория. Дополнительные сведения см. в разделе "Сведения о больших файлах на GitHub"
  • Вы изменили параметр source в файле _config.yml. При публикации сайта из ветви GitHub Pages переопределяет этот параметр во время процесса сборки.
  • В именах ваших опубликованных файлов содержится неподдерживаемое двоеточие (:).

При получении конкретного сообщения об ошибке ознакомьтесь с информацией об устранении неполадок для сообщения об ошибке ниже.

После устранения ошибок активируйте другую сборку, принудив изменения к исходной ветви сайта (если вы публикуете из ветви) или активировав настраиваемый рабочий процесс GitHub Actions (если вы публикуете данные GitHub Actions).

Ошибка файла конфигурации

Эта ошибка означает, что ваш сайт не удалось создать, так как файл _config.yml содержит синтаксические ошибки.

Чтобы устранить неполадки, убедитесь, что файл _config.yml соответствует следующим правилам:

  • Использование пробелов вместо символов табуляции
  • Включите пробел после : для каждой пары «ключ-значение», например timezone: Africa/Nairobi.
  • Используйте только символы UTF-8.
  • Кавычки и специальные знаки, такие как :, например, title: "my awesome site: an adventure in parse errors".
  • Для многострочных значений используйте | для создания новых строк и >, чтобы пропускать новые строки.

Для обнаружения ошибок можно скопировать и вставить содержимое файла YAML в анализаторе кода YAML, например, проверяющий элемент управления YAML.

Note: If your repository contains symbolic links, you will need to publish your site using a GitHub Actions workflow. For more information about GitHub Actions, see "Документация GitHub Actions."

Дата не является допустимой датой и временем

Эта ошибка означает, что на одной из страниц вашего сайта указана недопустимая дата и время.

Чтобы устранить неполадки, найдите файл в сообщении об ошибке и макетах файла для вызовов любых фильтров Liquid, связанных с датой. Убедитесь, что любые переменные, переданные в фильтры Liquid, связанные с датой, имеют значения во всех случаях и никогда не передают nil или "". Дополнительные сведения см. в статье Фильтры Liquid в документации Liquid.

Файл не существует в каталоге includes

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

Чтобы устранить неполадки, найдите файл в сообщении об ошибке для include и посмотрите, где были созданы ссылки на другие файлы, например {% include example_header.html %}. Если какой-либо из файлов, на которые вы ссылались, отсутствует в каталоге _includes, скопируйте или переместите файлы в каталог _includes.

Файл неправильно закодирован в формате UTF-8

Эта ошибка означает, что вы использовали символы, отличные от латинских, например 日本語, не сообщив компьютеру, что следует ожидать эти символы.

Для устранения неполадок принудительно примените кодировку UTF-8, добавив в файл _config.yml следующую строку:

encoding: UTF-8

Недопустимый язык маркера

Эта ошибка означает, что в файле конфигурации указан любой маркер синтаксиса, кроме Rouge или Pygments.

Для устранения неполадок обновите файл _config.yml, указав Rouge или Pygments. Дополнительные сведения см. в разделе Сведения о GitHub Pages и Jekyll.

Недопустимая дата публикации

Эта ошибка означает, что публикация на вашем сайте содержит недопустимую дату в имени файла или на титульном листе YAML.

Чтобы устранить неполадки, убедитесь, что все даты имеют формат ГГГГ-ММ-ДД ЧЧ:ММ:СС для UTC и являются действительными календарными датами. Чтобы указать часовой пояс со смещением от UTC, используйте формат ГГГГ-ММ-ДД ЧЧ:ММ:СС +/-ТТТТ, например 2014-04-18 11:30:00 +0800.

При указании формата даты в файле _config.yml убедитесь, что он правильный.

Недопустимый Sass или SCSS

Эта ошибка означает, что ваш репозиторий содержит файл Sass или SCSS с недопустимым содержимым.

Чтобы устранить неполадки, просмотрите номер строки, указанный в сообщении об ошибке для недопустимого Sass или SCSS. Чтобы предотвратить будущие ошибки, установите анализатор кода Sass или SCSS для своего предпочитаемого текстового редактора.

Недопустимый подмодуль

Эта ошибка означает, что ваш репозиторий содержит подмодуль, который не был должным образом инициализирован.

Чтобы устранить неполадки, сначала определите, хотите ли вы использовать субмодуль, который является проектом Git внутри проекта Git; субмодули иногда создаются непреднамеренно.

Если вы не хотите использовать субмодуль, удалите его и замените PATH-TO-SUBMODULE на путь к субмодулю:

git submodule deinit PATH-TO-SUBMODULE
git rm PATH-TO-SUBMODULE
git commit -m "Remove submodule"
rm -rf .git/modules/PATH-TO-SUBMODULE

Если необходимо использовать подмодуль, убедитесь, что вы используете https:// при ссылке на подмодуль (а не http://) и что подмодуль находится в общедоступном репозитории.

Недопустимый YAML в файле данных

Эта ошибка означает, что один или несколько файлов в папке _data содержат недопустимый код YAML.

Чтобы устранить неполадки, убедитесь, что файлы YAML в вашей папке _data соответствуют следующим правилам:

  • Использование пробелов вместо символов табуляции
  • Включите пробел после : для каждой пары «ключ-значение», например timezone: Africa/Nairobi.
  • Используйте только символы UTF-8.
  • Кавычки и специальные знаки, такие как :, например, title: "my awesome site: an adventure in parse errors".
  • Для многострочных значений используйте | для создания новых строк и >, чтобы пропускать новые строки.

Для обнаружения ошибок можно скопировать и вставить содержимое файла YAML в анализаторе кода YAML, например, проверяющий элемент управления YAML.

Дополнительные сведения о файлах данных Jekyll см. в статье Файлы данных документации по Jekyll.

Ошибки Markdown

Эта ошибка означает, что ваш репозиторий содержит ошибки Markdown.

Чтобы устранить неполадки, убедитесь, что используется поддерживаемый процессор Markdown. Дополнительные сведения см. в разделе Настройка обработчика Markdown для сайта GitHub Pages с помощью Jekyll.

Затем убедитесь, что файл в сообщении об ошибке использует допустимый синтаксис Markdown. Дополнительные сведения см. в статье Markdown: синтаксис на сайте Daring Fireball.

Отсутствует папка с документами

Эта ошибка означает, что в качестве источника публикации выбрана папка docs ​​в ветке, но в корне репозитория этой ветки нет папки docs.

Чтобы устранить неполадки, если ваша папка docs была случайно перемещена, попробуйте переместить папку docs обратно в корень вашего репозитория в той ветви, которая выбрана для источника публикации. Если папка docs случайно удалена, вы можете сделать следующее:

  • Использовать Git, чтобы отменить или откатить удаление. Дополнительные сведения см. в статье git-revert документации Git.
  • Создать новую папку docs ​​в корне репозитория в той ветви, которая выбрана для источника публикации, и добавить в нее исходные файлы вашего сайта. Дополнительные сведения см. в разделе Создание новых файлов.
  • Изменить источник публикации. Дополнительные сведения см. в разделе Настройка источника публикации для сайта GitHub Pages.

Отсутствующий подмодуль

Эта ошибка означает, что ваш репозиторий включает подмодуль, которого не существует или который не был должным образом инициализирован.

Чтобы устранить неполадки, сначала определите, хотите ли вы использовать субмодуль, который является проектом Git внутри проекта Git; субмодули иногда создаются непреднамеренно.

Если вы не хотите использовать субмодуль, удалите его и замените PATH-TO-SUBMODULE на путь к субмодулю:

git submodule deinit PATH-TO-SUBMODULE
git rm PATH-TO-SUBMODULE
git commit -m "Remove submodule"
rm -rf .git/modules/PATH-TO-SUBMODULE

Если необходимо использовать подмодуль, инициализируйте его. Дополнительные сведения см. в статье Инструменты Git — подмодули в книге Pro Git.

Эти ошибки означают, что в вашем файле _config.yml есть относительные постоянные ссылки, которые не поддерживаются GitHub Pages.

Постоянные ссылки — это постоянные URL-адреса, которые ссылаются на определенную страницу вашего сайта. Абсолютные постоянные ссылки начинаются с корня сайта, а относительные постоянные ссылки начинаются с папки, содержащей страницу, на которую указывает ссылка. GitHub Pages и Jekyll больше не поддерживают относительные постоянные ссылки. Дополнительные сведения о постоянных ссылках см. в статье Постоянные ссылки в документации по Jekyll.

Чтобы устранить неполадки, удалите строку relative_permalinks ​​из файла _config.yml и переформатируйте все относительные постоянные ссылки на своем сайте, указав абсолютные постоянные ссылки. Дополнительные сведения см. в разделе Изменение файлов.

Синтаксическая ошибка в цикле for

Эта ошибка означает, что ваш код содержит недопустимый синтаксис в объявлении цикла for.

Чтобы устранить неполадки, убедитесь, что все циклы for в файле в сообщении об ошибке содержат правильный синтаксис. Дополнительные сведения о правильном синтаксисе циклов for см. в статье Теги итерации документации Liquid.

Тег не закрыт должным образом

Это сообщение об ошибке означает, что ваш код содержит логический тег, который не закрыт должным образом. Например, {% capture example_variable %} должен быть закрыт {% endcapture %}.

Чтобы устранить неполадки, убедитесь, что все логические теги в файле в сообщении об ошибке правильно закрыты. Дополнительные сведения см. в статье Теги Liquid документации Liquid.

Тег не завершен должным образом

Эта ошибка означает, что ваш код содержит выходной тег, который не завершен должным образом. Например, {{ page.title } вместо {{ page.title }}.

Чтобы устранить неполадки, убедитесь, что все выходные теги в файле в сообщении об ошибке заканчиваются на }}. Дополнительные сведения см. в статье Объекты Liquid в документации по Liquid.

Ошибка неизвестного тега

Эта ошибка означает, что ваш код содержит нераспознанный тег Liquid.

Чтобы устранить неполадки, убедитесь, что все теги Liquid в файле в сообщении об ошибке соответствуют переменным Jekyll по умолчанию, а в именах тегов нет опечаток. Список переменных по умолчанию см. в статье Переменные документации Jekyll.

Неподдерживаемые модули являются распространенным источником нераспознанных тегов. Если вы используете на своем сайте неподдерживаемый подключаемый модуль, создав свой сайт локально и отправив свои статические файлы в GitHub, убедитесь, что подключаемый модуль не вводит теги, которых нет в переменных по умолчанию Jekyll. Список поддерживаемых подключаемых модулей см. в разделе "Сведения о GitHub Pages и Jekyll".