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.4.0. As macOS Mojave 10.14 comes only with ruby 2.3.x, 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 :
export PATH=/usr/local/opt/ruby/bin:$PATH
Then relaunch your terminal and check your updated Ruby setup:
which ruby
# /usr/local/opt/ruby/bin/ruby
ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580)
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
# Setup rbenv integration to your shell
rbenv init
# Check your install
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.6.3
rbenv global 2.6.3
ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580)
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.6.3p62 (2019-04-16 revision 67580)
Then append your path file with the following, replacing the X.X
with the first two digits of your Ruby version.
export PATH=$HOME/.gem/ruby/X.X.0/bin:$PATH
To check your that you 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.