πŸ“’ Actions Speak Louder Than Words!

Jekyll - Unable to load the EventMachine C extension

Posted: Oct 16, 2020 | Reading time: 2 min
⚠️ Warning: This post is over a year old, the information may be out of date.
πŸ“’ I’ve moved to a new website. Please visit me at https://journal.robbi.my !
post

When I using --livereload parameter with Jekyll, I get nasty failure like below :

bundle exec jekyll serve --livereload --verbose -I
.
.
.
Writing Metadata: .jekyll-metadata
                    done in 3.442 seconds.
         Requiring: jekyll-watch
           Watcher: Ignoring (?-mix:^_config\.yml)
           Watcher: Ignoring (?-mix:^_site\/)
           Watcher: Ignoring (?-mix:^\.jekyll\-cache\/)
           Watcher: Ignoring (?-mix:^Gemfile)
           Watcher: Ignoring (?-mix:^Gemfile\.lock)
           Watcher: Ignoring (?-mix:^vendor\/cache\/)
 Auto-regeneration: enabled for 'D:/NOPE/robbinespu.gitlab.io'
Unable to load the EventMachine C extension; To use the pure-ruby reactor, require 'em/pure_ruby'
                    ------------------------------------------------
      Jekyll 4.1.1   Please append `--trace` to the `serve` command 
                     for any additional information or backtrace. 
                    ------------------------------------------------

After google-fu, the most solution given are to uninstall eventmachine-1.2.7-x64-mingw32 gems

$  gem uninstall eventmachine

Select gem to uninstall:
 1. eventmachine-1.2.7
 2. eventmachine-1.2.7-x64-mingw32
 3. All versions
> 2
Successfully uninstalled eventmachine-1.2.7-x64-mingw32

Then you can continue using --livereload parameter with Jekyll but if somehow in future you execute bundle install or bundle update, it will install eventmachine-1.2.7-x64-mingw32 gems again and you need to uninstall again. This is repeative..

The best solution and the proper step are:

  1. run command gem uninstall eventmachine and choose to uninstall eventmachine-1.2.7-x64-mingw32 gems from your system
  2. edit your Gemfile and add this line inside
gem 'eventmachine', '1.2.7', git: 'git@github.com:eventmachine/eventmachine', tag: 'v1.2.7'
  1. execute bundle install
  2. Clean up your jekyll build and cache with command bundle exec jekyll clean
  3. Lastly now you can use --livereload parameter without getting any issue if you execute bundle install in future

This should work nicely!

Edit

Have some thoughts, discussion or feedback on this post?
IndieWeb Interactions

Below you can find the interactions that this page has had using Indieweb. Which means, you can mentioned this URL on any website that support WebMention. Have you written a response to this post? Let me know the URL:

((Do you use a website that do not set up with WebMention capabilities? You can use Comment Parade.)


Mentions, bookmarks, likes and repost