跳至主要内容

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

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

谁可以使用此功能?

GitHub Pages 在公共仓库中可使用 GitHub Free 和组织的 GitHub Free;在公共和私有仓库中可使用 GitHub Pro、GitHub Team、GitHub Enterprise Cloud 和 GitHub Enterprise Server。欲了解更多信息,请参阅 GitHub 的套餐

平台导航

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

先决条件

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

我们建议使用 Bundler 来安装和运行 Jekyll。Bundler 管理 Ruby gem 依赖,减少 Jekyll 构建错误,并防止环境相关的 bug。要安装 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. 要预览站点,请在网页浏览器中访问 https://:4000

更新 GitHub Pages gem

注意

虽然 github-pages gem 在某些工作流中仍受支持,但现在推荐使用 GitHub Actions 来部署和自动化 GitHub Pages 站点。

Jekyll 是一个活跃的开源项目,更新频繁。如果你电脑上的 github-pages gem 与 GitHub Pages 服务器上的版本不匹配,则本地构建的站点可能与发布在 GitHub 上的呈现不同。为避免此问题,请定期更新电脑上的 github-pages gem。

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

延伸阅读

© . This site is unofficial and not affiliated with GitHub, Inc.