codecamp

关于 GitHub Pages 站点的 Jekyll 构建错误

如果在本地或 GitHub 上构建 GitHub Pages 站点发生 Jekyll 错误,您将收到一条错误消息,其中包含相关详细信息。

GitHub Pages 适用于具有 GitHub Free 和组织的 GitHub Free 的公共仓库,以及具有 GitHub Pro、GitHub Team、GitHub Enterprise Cloud 和 GitHub Enterprise Server 的公共和私有仓库。 更多信息请参阅“GitHub 的产品”。

关于 Jekyll 构建错误

有时,在您推送更改到站点的发布源之后,GitHub Pages 不会尝试构建您的站点。

  • 推送更改的人尚未验证他们的电子邮件地址。 更多信息请参阅“验证电子邮件地址”。
  • 您使用部署密钥推送。 如果要自动推送到站点的仓库,您可以改为设置计算机用户。 更多信息请参阅“管理部署密钥”。
  • 您使用的是未配置为构建发布源的 CI 服务。 例如,Travis CI 不会构建 gh-pages 分支,除非您将该分支添加到安全列表。 更多信息请参阅 Travis CI 上的“定制构建”或者 CI 服务的文档。

注:对站点的更改在推送到 GitHub 后,最长可能需要 20 分钟才会发布。

如果 Jekyll 尝试构建站点但遇到错误,您将收到一条构建错误消息。 Jekyll 构建错误消息有两种主要类型。

  • “Page build warning(页面构建警告)”消息表示构建已成功完成,但您可能需要进行更改以防止将来出现问题。
  • “Page build failed(页面构建失败)”消息表示构建未能完成。 如果 Jekyll 能够检测到失败的原因,您将看到描述性错误消息。

有关排查构建错误的更多信息,请参阅“关于 GitHub Pages 站点的 Jekyll 构建错误疑难排解”。

查看 Jekyll 构建错误消息

我们建议在本地测试您的站点,这样您可以在命令行上看到构建错误消息,并在更改推送到 GitHub 之前解决任何构建失败。 更多信息请参阅“使用 Jekyll 在本地测试 GitHub Pages 站点”。

创建拉取请求以更新您在 GitHub 上的发布源时,您可以在拉取请求的 Checks(检查)选项卡上看到构建错误消息。 更多信息请参阅“关于状态检查”。

将更改推送到您在 GitHub 上的发布源时,GitHub Pages 将尝试构建您的站点。 如果构建失败,您将在您的主要电子邮件地址收到一封电子邮件。 您还将收到关于构建警告的电子邮件。

您可以在 GitHub 上站点仓库的 Settings(设置)选项卡中查看构建失败(而不是构建警告)。

您可以配置第三方服务(例如 Travis CI)以在每次提交后显示错误消息。

  1. 如果尚未在发布源的根目录中添加名为 Gemfile、包含以下内容的文件,请添加:

   source `https://rubygems.org`
   gem `github-pages`

  1. 为您选择的测试服务配置站点仓库。 例如,要使用 Travis CI,请在发布源的根目录下添加一个名为 .travis.yml、包含以下内容的文件:

   language: ruby
   rvm:
     - 2.3
   script: "bundle exec jekyll build"

  1. 您可能需要使用第三方测试服务激活仓库。 更多信息请参阅测试服务的文档。
使用 Jekyll 向 GitHub Pages 站点添加主题
排查 GitHub Pages 站点的 Jekyll 构建错误
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

GitHub 身份验证

在 GitHub 上管理订阅和通知

在 GitHub 上管理活动的订阅

GitHub 组织和团队

GitHub 管理对组织仓库的 Git 访问

GitHub 计费和付款

GitHub 使用议题和拉取请求进行协作

GitHub 在具有代码质量功能的仓库上进行协作

管理在 GitHub 上的工作

GitHub 建立强大的社区

GitHub 管理仓库

GitHub 自定义 GitHub 工作流程

在 GitHub Marketplace 中购买并安装应用程序

通过 GitHub Jobs 寻找人才

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }