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 для выполнения сборки Jekyll. При использовании ветви в качестве источника сборки GitHub Actions необходимо включить в репозитории, если вы хотите использовать встроенный рабочий процесс Jekyll. Кроме того, если GitHub Actions недоступен или отключен, добавление .nojekyll файла в корень исходной ветви будет обойти процесс сборки Jekyll и развернуть содержимое напрямую. Дополнительные сведения о включении GitHub Actionsсм. в разделе "Управление параметрами GitHub Actions для репозитория".

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

Если Jekyll обнаруживает ошибку при создании сайта GitHub Pages локально или на GitHub Enterprise Cloud, вы можете использовать сообщения об ошибках для устранения неполадок. Дополнительные сведения об сообщениях об ошибках и их просмотре см. в разделе "Сведения об ошибках сборки 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.

Файл не существует в каталоге 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; субмодули иногда создаются непреднамеренно.

Если вы не хотите использовать субмодуль, удалите его и замените 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 .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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