I recently upgraded from MacOS Catalina to Big Sur beta and the first thing I noticed was that my dev environment was broken. My website was setup locally using Jekyll and when I tried to run ‘bundle exec jekyll serve’ , I got this error:
Could not find eventmachine-1.2.7 in any of the sources
Run ` bundle install ` to install missing gems.
And running ‘bundle install’ didn’t seem to solve it (even with sudo), it showed this error:
An error occurred while installing eventmachine ( 1.2.7) , and Bundler cannot continue .
Make sure that ` gem install eventmachine -v '1.2.7' --source 'https://rubygems.org/' ` succeeds
before bundling.
Running gem install eventmachine also returns an error, and the mkmf.log file showed an error with ruby:
"xcrun clang -o conftest -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/universal-darwin20 -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/backward -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -g -Os -pipe -DHAVE_GCC_ATOMIC_BUILTINS -DUSE_FFI_CLOSURE_ALLOC conftest.c -L. -L/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib -L. -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.Internal.sdk/usr/local/lib -lruby.2.6 "
In file included from conftest.c:1:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby.h:33:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/ruby.h:24:10: fatal error: 'ruby/config.h' file not found
#include "ruby/config.h"
^~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/ruby.h:24:10: note: did not find header 'config.h' in framework 'ruby' ( loaded from '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks' )
1 error generated.
checked program was:
/* begin * /
1: #include "ruby.h"
2:
3: int main( int argc, char ** argv)
4: {
5: return 0;
6: }
/* end * /
package configuration for openssl is not found
And at the time of writing this post, Homebrew doesn’t support MacOS 11 Big Sur , so “brew install rbenv ruby-build” doesn’t work.
I did some search online, and found this answer on stack overflow (Which involves installing Xcode 12 beta );
So follow these steps to install rbenv. You need xcode installed for step 4. Also, I updated the steps to match my use case;
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
cd ~/.rbenv && src/configure && make -C src
Add ~/.rbenv/bin
to your $PATH for access to the rbenv command-line utility. see: https://github.com/rbenv/rbenv#basic-github-checkout Make sure export PATH="$HOME/.rbenv/shims:${PATH}"
was added to your $PATH xcode-select --switch /Applications/Xcode-beta.app/Contents/Developer
Now in your Jekyll project's root, you should be able to run bundle install
and it should install all missing dependencies. Now ‘bundle exec jekyll serve’ should start your server.
I hope this helps someone ✌🏾