Anyone with read permissions for a repository can test a GitHub Pages site locally.
Prerequisites
Before you can use Jekyll to test a site, you must:
- Install Jekyll.
- Create a Jekyll site. For more information, see Creating a GitHub Pages site with Jekyll.
We recommend using Bundler to install and run Jekyll. Bundler manages Ruby gem dependencies, reduces Jekyll build errors, and prevents environment-related bugs. To install Bundler:
- Install Ruby. For more information, see "Installing Ruby" in the Ruby documentation.
- Install Bundler. For more information, see "Bundler."
Tip
If you see a Ruby error when you try to install Jekyll using Bundler, you may need to use a package manager, such as RVM or Homebrew, to manage your Ruby installation. For more information, see "Troubleshooting" in the Jekyll documentation.
Building your site locally
-
Open TerminalTerminalGit Bash.
-
Navigate to the publishing source for your site. For more information, see "Configuring a publishing source for your GitHub Pages site."
-
Run
bundle install
. -
Run your Jekyll site locally.
$ 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.
Note
-
If you've installed Ruby 3.0 or later (which you may have if you installed the default version via Homebrew), you might get an error at this step. That's because these versions of Ruby no longer come with
webrick
installed.To fix the error, try running
bundle add webrick
, then re-runningbundle exec jekyll serve
. -
If your
_config.yml
file'sbaseurl
field contains your GitHub repository's link, you can use the following command when building locally to ignore that value and serve the site onlocalhost:4000/
:bundle exec jekyll serve --baseurl=""
-
-
To preview your site, in your web browser, navigate to
http://localhost:4000
.
Updating the GitHub Pages gem
Jekyll is an active open source project that is updated frequently. If the github-pages
gem on your computer is out of date with the github-pages
gem on the GitHub Pages server, your site may look different when built locally than when published on GitHub. To avoid this, regularly update the github-pages
gem on your computer.
- Open TerminalTerminalGit Bash.
- Update the
github-pages
gem.- If you installed Bundler, run
bundle update github-pages
. - If you don't have Bundler installed, run
gem update github-pages
.
- If you installed Bundler, run
Further reading
- GitHub Pages in the Jekyll documentation