问题描述
我已经通过以下链接尝试过但没有得到任何帮助:-
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 serve
或 jekyll 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 --livereload
或 jekyll 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 --livereload
或 jekyll serve --livereload
?
解决方法
遇到了同样的问题,使用了您链接的其中一个帖子中的 this answer,至少为我解决了这个问题。不过,您可能已经尝试过了。