Ensure ruby prerequisites are installed with a full system upgrade for safety:

sudo pacman -Syu ruby base-devel

Add ruby gems to your PATH by appending it to a file named .profile in your home directory:

echo 'PATH="$PATH:$(ruby -e 'puts Gem.user_dir')/bin"'

Source your new profile file and restart bash. Alternatively, you can log out and back in again:

source .profile
exec $SHELL

To view the current gem environment:

gem env

Install jekyll and bundler:

gem install jekyll bundler

If you get errors about ruby gems not being in your path, you need to ensure you did the steps above correctly. Look for reasons why it did not add to your PATH; the Arch Wiki is a great resource.

Verify the gems installed by listing gems, where you should see both jekyll and bundler:

gem list

Now try to invoke jekyll by navigating to an existing jekyll site folder and typing:

bundle exec jekyll build

or if you don’t have a jekyll site already, then try building a new one.

If you get an error about a missing gem, you can use bundler to go get prerequisites. I don’t really know how bundler works to be honest; when I first started using jekyll it was a simple jekyll build use case. This whole bundle thing reminds me of nodejs and npm, but I’m told it sorts out gem versioning so that packages work – so there we have it!

If the missing gem is public_suffix you can get it by:

gem install public_suffix

and if it still doesn’t work, then:

bundle install

Let that run its course and once all prerequisites are installed, jekyll is now in your path and all necessary gems would be installed.

Et voilà ! You should be able to build a jekyll site.

Addendum

2020-07-23

I forgot to include that .profile is not sourced by bash by default, so everytime you login, you’d have to source it before using gems. That’s nonsense, so duly add it to .bashrc instead or source .profile from within .bashrc instead.