JOURNAL.ROBBI.MY
← Back to IndieWeb
status

Jekyll - Unable to load the EventMachine C extension

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

bash
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

bash
$  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
text
gem 'eventmachine', '1.2.7', git: '[email protected]: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!

Have some thoughts, discussion or feedback on this post?

▸ What is webmention? How to send interactions!
Below you can find all of webmention with this page. You can also mention this URL on any website that supports WebMention. Have you written a response to this post? Let me know the URL:

Don't have WebMention? Use Comment Parade!

No webmentions yet.

Comments section coming soon. For now, send a webmention or email.