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.