Skip to main content

使用 Jekyll 在本地测试 GitHub Pages 站点

您可以在本地构建 GitHub Pages 站点,以预览和测试对站点的更改。

谁可以使用此功能?

GitHub Pages 适用于具有 GitHub Free 和组织的 GitHub Free 的公共存储库,以及具有 GitHub Pro、GitHub Team、GitHub Enterprise Cloud 和 GitHub Enterprise Server 的公共和专用存储库。 有关详细信息,请参阅“GitHub 的计划”。

GitHub Pages 现在使用 GitHub Actions 来执行 Jekyll 构建。 使用分支作为构建源时,如果要使用内置的 Jekyll 工作流,则必须在存储库中启用 GitHub Actions。 或者,如果 GitHub Actions 不可用或已禁用,则将 .nojekyll 文件添加到源分支的根目录将绕过 Jekyll 构建过程并直接部署内容。 有关 GitHub Actions 运行器的详细信息,请参阅“管理存储库的 GitHub Actions 设置”。

Platform navigation

任何拥有仓库读取权限的人都可以在本地测试 GitHub Pages 站点。

先决条件

在使用 Jekyll 测试站点之前,您必须:

建议使用 Bundler 安装和运行 Jekyll。 Bundler 可管理 Ruby gem 依赖项,减少 Jekyll 构建错误和阻止环境相关的漏洞。 要安装 Bundler:

  1. 安装 Ruby。 有关详细信息,请参阅 Ruby 文档中的“安装 Ruby”。
  2. 安装 Bundler。 有关详细信息,请参阅“Bundler”。

提示: 如果你在尝试使用 Bundler 安装 Jekyll 时看到 Ruby 错误,则可能需要使用包管理器(例如 RVMHomebrew)来管理你的 Ruby 安装。 有关详细信息,请参阅 Jekyll 文档中的“故障排除”。

本地构建网站

  1. 打开终端终端Git Bash

  2. 导航到站点的发布来源。 有关详细信息,请参阅“配置 GitHub Pages 站点的发布源”。

  3. 运行 bundle install

  4. 在本地运行您的 Jekyll 站点。

    $ bundle exec jekyll serve
    > Configuration file: /Users/octocat/my-site/_config.yml
    >            Source: /Users/octocat/my-site
    >       Destination: /Users/octocat/my-site/_site
    > Incremental build: disabled. Enable with --incremental
    >      Generating...
    >                    done in 0.309 seconds.
    > Auto-regeneration: enabled for '/Users/octocat/my-site'
    > Configuration file: /Users/octocat/my-site/_config.yml
    >    Server address: http://127.0.0.1:4000/
    >  Server running... press ctrl-c to stop.
    

    注意:

    • 如果已安装 Ruby 3.0 或更高版本(如果通过 Homebrew 安装了默认版本,则表示可能已经安装),则可能会在此步骤中遇到错误。 这是因为这些版本的 Ruby 不再附带安装 webrick

      要修复错误,请尝试运行 bundle add webrick,然后重新运行 bundle exec jekyll serve

    • 如果 _config.yml 文件的 baseurl 字段包含 GitHub 存储库的链接,则可以在本地生成时使用以下命令来忽略该值并在 localhost:4000/ 为站点提供服务:

      bundle exec jekyll serve --baseurl=""
      
  5. 若要预览网站,请在 Web 浏览器中导航到 http://localhost:4000

更新 GitHub Pages gem

Jekyll 是一个活跃的开源项目,经常更新。 如果计算机上的 github-pages gem 与 GitHub Pages 服务器上的 github-pages gem 已过期,则站点外观在本地构建时可能与在 GitHub 上发布时不同。 为避免这种情况,请定期更新计算机上的 github-pages gem。

  1. 打开终端终端Git Bash
  2. 更新 github-pages gem。
    • 如果已安装 Bundler,请运行 bundle update github-pages
    • 如果尚未安装 Bundler,请运行 gem update github-pages

延伸阅读