Jekyll on macOS

Install Command Line Tools

First, you need to install the command-line tools to be able to compile native extensions, open a terminal and run:

xcode-select --install

Install Ruby

Jekyll requires Ruby > 2.5.0. macOS Catalina 10.15 comes with ruby 2.6.3, so you’re fine. If you’re running a previous macOS system, you’ll have to install a newer version of Ruby.

With Homebrew

To run the latest Ruby version you need to install it through Homebrew.

# Install Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew install ruby

Add the brew ruby path to your shell config:

echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.bash_profile

Then relaunch your terminal and check your updated Ruby setup:

which ruby
# /usr/local/opt/ruby/bin/ruby

ruby -v
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c)

Yay, we are now running current stable Ruby!

With rbenv

People often use rbenv to manage multiple Ruby versions. This is very useful when you need to be able to run a given Ruby version on a project.

# Install Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# Install rbenv and ruby-build
brew install rbenv

# Set up rbenv integration with your shell
rbenv init

# Check your installation
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash

Restart your terminal for changes to take effect. Now you can install the Ruby version of our choice, let’s go with current latest stable Ruby:

rbenv install 2.7.1
rbenv global 2.7.1
ruby -v
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c)

That’s it! Head over rbenv command references to learn how to use different versions of Ruby in your projects.

Install Jekyll

Now all that is left is installing Bundler and Jekyll.

Local Install

gem install --user-install bundler jekyll

and then get your Ruby version using

ruby -v
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c)

Then append your path file with the following, replacing the X.X with the first two digits of your Ruby version.

echo 'export PATH="$HOME/.gem/ruby/X.X.0/bin:$PATH"' >> ~/.bash_profile

To check that your gem paths point to your home directory run:

gem env

And check that GEM PATHS: points to a path in your home directory.

Every time you update Ruby to a version with a different first two digits, you will need to update your path to match.

Global Install

We strongly recommend against installing Ruby gems globally to avoid file permissions problems and using sudo.

On Mojave (10.14)

Because of SIP Protections in Mojave, you must run:

sudo gem install bundler
sudo gem install -n /usr/local/bin/ jekyll

Before Mojave (<10.14)

You only have to run:

sudo gem install bundler jekyll

Problems?

Check out the troubleshooting page or ask for help on our forum.