\ 1 minute read

The story of my life: I forgot how I set up my local blog dev environment and it stopped working because OpenSSL certificate broke. Or something. Jesus, I need to write down how to set it all up.

So what went wrong?

I had it working beautifully just a few months ago. When I jumped in to update Calibre Web Automated post, all of a sudden Jekyll gave me the finger:

Failure/Error: res = Net::HTTP.get_response(uri)

OpenSSL::SSL::SSLError:
  SSL_connect returned=1 errno=0 peeraddr=99.88.77.66:443 state=error: certificate verify failed (unable to get certificate CRL)

WTF? A bit of duckduckgo’ing revealed a fix: I had to add a specific version of OpenSSL to my Gemfile, like so:

gem "openssl", "~> 3.3.1"

Thank you Moncef, I appreciate you.

Albeit, I discovered this solution after 2 hours of reinstalling Ruby, messing with Jekyll versions and writing it down for posterity…

facepalm

Ruby

In order to install Jekyll, I need to install Ruby. To install Ruby, apparently I need to install Chruby. Although I saw a blog post claiming asdf (or something along these lines) is more reliable on Macos…but I managed to get it to work with chruby, so chruby it is for now!

brew install chruby ruby-install
ruby-install ruby 3.4.1

Why this version of Ruby? Because it says so on Jekyll website.

Add this to fish/config.fish:

chruby ruby-3.4.1 # Set ruby version. Run `chruby` to see actual version.
source ~/.config/fish/config.fish

Confirm version 3.4.1 is picked up correctly:

ruby -v

Get the blog going

Clone the blog repository:

git clone https://github.com/Pe8er/asphyxiation-by-oxygen-hands.git

Get in there and install dependencies:

gem install jekyll bundler
bundle

And run it!

bundle exec jekyll serve --livereload

Note: I do have a shortcut for it because amnesia: jekyll-start.