Search code examples
rubyjekyllbundle

`bundle exec jekyll serve` dependences broke unexpectedly


This may not be the place for the question, but I am a Jekyll user and not a Ruby user (outside of Jekyll), so the issue is most likely related to something within my versioning.

While running bundle exec jekyll serve a few days ago was properly serving a static site locally, it stopped working when I tried it today. Instead, I received this error:

Could not find minitest-5.14.1 in any of the sources
Run `bundle install` to install missing gems.

When running bundle install, I receive this one:

Fetching gem metadata from https://rubygems.org/.........
zeitwerk-2.3.0 requires ruby version >= 2.4.4, which is incompatible with the current version, ruby 2.3.7p456

I know that I have some older versions here, but I am working with the system I know and it has been stable up until now. I have no updated Ruby or otherwise made any changes to these systems (that I'm aware of...). I run macOS 10.14.6 and have not made any updates to the OS recently, either.

The beginning of bundle env returns:

Bundler       2.2.15
  Platforms   ruby, universal-darwin-18
Ruby          2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]
  Full Path   /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby

After looking at a number of sites, it is hard to know what to try changing without falling into rabbit holes that require either (1) learning more about Ruby environments than I would like to or (2) upgrading things that may otherwise break my older Jekyll installation.

Thanks for any advice.

Update...

I had two versions installed, one was the macOS system version (2.3) and the other was from Homeborew (2.7). To solve the problem, I followed advice from elsewhere and setup rvm according to the given directions, and installed 3.0. I set that as default and still received the same errors.


Solution

  • Answering myself in case someone ends up here:

    Using RVM solved the problem, but I had installed 3.0 instead of Ruby 2.7. This caused a different set of incompatibilities. Once I also added 2.7 and ran bundle install, bundle exec jekyll serve was able to start up properly.