jekyll 服务器 --livereload 抛出错误

问题描述

我已经通过以下链接尝试过但没有得到任何帮助:-
Cannot load Ruby EventMachine in Rails console - no such file to load
Using Live Reload with Jekyll
Unable to load the EventMachine C extension; To use the pure-ruby reactor

从上面提到的第二个问题,我了解到 --livereload 带有 jekyll v3.7+
我的机器有以下内容

Pkg / Cmd       Versions
---------       -------------------------------------------------------------
npm    -v       6.14.13
ruby   -v       ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x64-mingw32]
gem    -v       3.2.22
jekyll -v       jekyll 4.2.0
bundle -v       Bundler version 2.2.23

现在,当我执行 bundle exec jekyll servejekyll serve 时,我得到以下输出:-

PS C:\Users\Vedant\source\repos\mine\phougatv.github.io> jekyll serve
Configuration file: C:/Users/blah/blah/phougatv.github.io/_config.yml
            Source: C:/Users/blah/blah/phougatv.github.io
       Destination: C:/Users/blah/blah/phougatv.github.io/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
       Jekyll Feed: Generating Feed for posts
                    done in 0.859 seconds.
 Auto-regeneration: enabled for 'C:/Users/blah/blah/phougatv.github.io'
    Server address: http://127.0.0.1:4000/
  Server running... press ctrl-c to stop.

当我执行 bundle exec jekyll serve --livereloadjekyll serve --livereload 时,我得到:

PS C:\Users\Vedant\source\repos\mine\phougatv.github.io> jekyll serve --livereload
Configuration file: C:/Users/blah/blah/phougatv.github.io/_config.yml
            Source: C:/Users/blah/blah/phougatv.github.io
       Destination: C:/Users/blah/blah/phougatv.github.io/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
       Jekyll Feed: Generating Feed for posts
                    done in 0.701 seconds.
 Auto-regeneration: enabled for 'C:/Users/blah/blah/phougatv.github.io'
                    ------------------------------------------------
      Jekyll 4.2.0   Please append `--trace` to the `serve` command
                     for any additional information or backtrace.
                    ------------------------------------------------
C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/eventmachine-1.2.7-x64-mingw32/lib/eventmachine.rb:41:in `require': cannot load such file -- sorted_set (LoadError)
        from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/eventmachine-1.2.7-x64-mingw32/lib/eventmachine.rb:41:in `<top (required)>'
        from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/em-websocket-0.5.2/lib/em-websocket.rb:3:in `require'
        from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/em-websocket-0.5.2/lib/em-websocket.rb:3:in `<top (required)>'
        from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/commands/serve/live_reload_reactor.rb:3:in `require'
        from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/commands/serve/live_reload_reactor.rb:3:in `<top (required)>'
        from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/commands/serve.rb:143:in `require_relative'
        from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/commands/serve.rb:143:in `register_reload_hooks'
        from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/commands/serve.rb:98:in `process'
        from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
        from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `each'
        from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
        from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/commands/serve.rb:86:in `block (2 levels) in init_with_program'
        from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
        from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
        from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
        from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
        from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
        from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/exe/jekyll:15:in `<top (required)>'
        from C:/Ruby30-x64/bin/jekyll:23:in `load'
        from C:/Ruby30-x64/bin/jekyll:23:in `<main>'

收到上述错误后,我遵循了 Answer-1 & Answer-2,并将 gem "eventmachine" 添加Gemfile 但它们似乎没有解决我的问题。这些答案之一给出了错误'require': cannot load such file -- sorted_set (LoadError),为了解决这个问题,我做了 gem install sorted_set(SortedSet 已被删除),但随后显示了其他错误消息。在尝试了所有这些答案之后,我认为我离正确的方法还差得很远。

问题:我如何成功执行:bundle exec jekyll serve --livereloadjekyll serve --livereload

解决方法

遇到了同样的问题,使用了您链接的其中一个帖子中的 this answer,至少为我解决了这个问题。不过,您可能已经尝试过了。