Struggles with Jekyll and Cloudflare Pages
TL;DR Solution
- Open your Application
- Navigate to Settings
- Click Builds & Deployments
- Change Build System Version from 2 to 1
My Introduction to the Issue
Over the last few years working for Nordstrom, I’ve grown more into a lightweight Engineering role and it has been very interesting. I’ve recently begun to use Git for version control on my scripts and tracking our Ansible and Terraform IaC templates.
This got me interested in using GitHub at home for tracking some basic python3, or HTML5 that I might write. As I spent time on GitHub, of course I checked out GitHub Pages. Played around enough to install Ruby and Jekyll onto my PC and utilize it to build on a few templates. However GitHub Pages doesn’t allow commercial usage of their Pages platform and I would want to do this semi-commercially. Cloudflare Free Tier however provides unlimited repos given less than 500 commits a month. I can keep my commits lower than 500 a month.
For the last 6 months my Business has ran from Cloudflare Pages that I had migrated from GitHub using the Cloudflare Documentation here. Everything in this pipeline had been fine and working. Today was a different story when trying to create a new repo.
The Error Message
11:46:50.029 Executing user command: jekyll build
11:46:51.872 /opt/buildhome/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.19/lib/bundler/runtime.rb:304:in `check_for_activated_spec!': You have already activated i18n 1.14.1, but your Gemfile requires i18n 0.9.5. Prepending `bundle exec` to your command may solve this. (Gem::LoadError)
11:46:51.873 from /opt/buildhome/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.19/lib/bundler/runtime.rb:25:in `block in setup'
11:46:51.873 from /opt/buildhome/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.19/lib/bundler/spec_set.rb:165:in `each'
11:46:51.873 from /opt/buildhome/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.19/lib/bundler/spec_set.rb:165:in `each'
11:46:51.873 from /opt/buildhome/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.19/lib/bundler/runtime.rb:24:in `map'
11:46:51.874 from /opt/buildhome/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.19/lib/bundler/runtime.rb:24:in `setup'
11:46:51.874 from /opt/buildhome/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.19/lib/bundler.rb:162:in `setup'
11:46:51.874 from /opt/buildhome/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/jekyll-4.3.2/lib/jekyll/plugin_manager.rb:52:in `require_from_bundler'
11:46:51.874 from /opt/buildhome/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/jekyll-4.3.2/exe/jekyll:11:in `<top (required)>'
11:46:51.874 from /opt/buildhome/.asdf/installs/ruby/3.2.2/bin/jekyll:25:in `load'
11:46:51.875 from /opt/buildhome/.asdf/installs/ruby/3.2.2/bin/jekyll:25:in `<main>'
11:46:51.879 Failed: Error while executing user command. Exited with error code: 1
11:46:51.889 Failed: build command exited with code: 1
11:46:53.035 Failed: error occurred while running build command
I Googled that second line every which way I could. I added webrick, I recreated the Gemfile over and over like a mad man. Finally, I found it… This THREAD showing that the current version of Liquid and the current version of Ruby are broken compatibility wise. Nothing I can do….. Until I found this sneaky setting….
Changing from Version 2 to Version 1 resolved my issues entirely.
Version 1 runs a Ubuntu 20.04 LTS runner with the older Ruby version 2.7.1 - Using this runner I am able to successfully deploy my GitHub Pages projects onto Cloudflare Pages.
Version 2 run s a Ubuntu 22.04 LTS runner with the newer Ruby version 3.2.2 - Unfortunately the upstream creators of Liquid made core code changes between v4 and the new v5. Now many Jekyll gems based on Liquid are broken.
2024
Secure Your Linux Box
Matt’s Guide to Securing a Linux Box for Production.
My Website Architecture
Quick overview of my websites architecture.
Exploring Glacier National Park
One Night in Glacier NP - 2024
Images from the Nebraska DLC
Exploring and capturing the scenery in American Truck Simulator, Nebraska DLC
Sail High Seas Safely!
how-to be safe while downloading linux isos.
Jackson-Faulkner Family Trip 2024
Exploring South Dakota with the Jacksons.
Serving Up WebP instead of PNG
how I reduced my home page 610 percent.
Javascript Cat!
how-to add oneko.js to the minimal-mistakes jekyll template.
Growing Cannabis Notes
My personal running notes for growing cannabis.
SMB Mount Errors found in dmesg
Dealing with CIFS errors between TrueNAS and Debian.
Bounce a Juniper Switchport
how-to bounce a Juniper JunOS switchport.
Fixing apt error, ‘list of sources could not be read’
how-to fix ‘the list of sources could not be read.’ when using apt.
Basic Network Troubleshooting
how-to troubleshoot a home network, by a Network Engineer.
Moving to Caddy
Moving my webserver from OpenLiteSpeed to Caddy
Could Not Resolve Error in apt
how-to resolve, could not resolve packages.adoptium.net
Responding to XZ-Utils Vulnerability
how-to validate XZ-Utils impact.
Ninite is Awesome
How and Why I use Ninite
Certbot Renewal on OpenLiteSpeed
Manually renewing Certbot on OpenLiteSpeed
YABS Results
Yet Another Benchmark Results
Basic Linux Administration
Linux Basics and Core Concepts by Matt F.
How to Setup and Manage a Web Domain
how-to Buy and Manage a Web Domain
Learn Linux in 5 Days
My Udemy Course Completion Certification.
2013 Scion FRS Service Manual
Scion FRS Service Manual Download and Sources
My Discord Server
My Discord Server Widget
Migrating to BunnyCDN
How I moved from QUIC.Cloud to BunnyNet CDN.
2023
99.99% Uptime Goal for 2024
My High Uptime Plan for 2024.
Magic The Gathering Notes
Personal notes for Magic the Gathering
HTML Hobbiest Webring
HTML Hobbiest Webring Landing Page/Post
Ditching WordPress
Method of Procedure for migrating from WordPress to plain HTML.
W900 Tuning Pack
W900 Tuning Pack DLC Review.
Goodbye Google Domains
Google Domains is Ending.
Experience OpenLiteSpeed
Deep dive into OpenLiteSpeed webserver.
Struggles with Jekyll and Cloudflare Pages
how-to resolve my Jekyll/Cloudflare Pages deployment error.
Mom Said Redefine Success
In High School I had one dream that stands out. Own a Porsche by the time I was 26. Looking back, I have no idea where this dream came from; because I was ra...
Cow Town Hoe Down - 2023
Personal ramblings about my new town.
Knowledge Sharing
Knowledge Filled PDF Bundle
Jellyfin Guide for Friends and Family
how-to Jellyfun.
My ProtonMail Review
ProtonMail Review - 1 Year
2022
Managing Pi-Hole - A Guide for Beginners in 2022
how-to manage Pi-Hole.
Matt’s Desktop Build in 2022
My new Gaming PC. Its boring but it’ll do.
Ad-Blocking on the Go using Pi-Hole and Pi-VPN in the Cloud
how-to setup Pi-Hole and Wireguard on Linode.
How To Change The Hostname of a Raspberry Pi
how-to update the hostname of a Raspberry Pi.
2021
Using A Raspberry Pi Zero To Host a VPN Server
Can a Raspberry Pi Zero host a family VPN Server? Yes.
Logitech G413 Carbon - Keyboard Review
Logitech G413 Keyboard review.
Razer Huntsman Mini - My First Keyboard Review
Razer Huntsman Mini review.
Weekend with the Bois - June 2021 Video
YouTube video cruising through Colorado!
PiAware - One Month of Ownership
Ramblings about PiAware after one month of operation.
Setup a Headless Raspberry Pi - For Beginners
Guide to setup a Raspberry Pi from start to finish!
Setting the Timezone on your Raspberry Pi 4
Guide to configuring the Timezone on a Raspberry Pi.