我在 Windows 8 上使用 Jekyll 来处理一个小项目。到目前为止,我很喜欢 Jekyll,但在尝试使用 --watch
标志为我的网站提供服务时遇到了一个问题,该标志允许网站在对代码进行更改时在刷新时更新。
当我运行我的 Jekyll 站点时,我将打开我的 cmd
和 cd
到正确的目录。根据 Jekyll 文档,我将在目录中执行 chcp 65001
以将编码更改为 UTF-8。现在,当我运行 jekyll serve -w
或 jekyll serve --watch
时,我得到一个包含以下内容的错误转储:
C:\Dropbox\Workbench\lunch-and-learn>jekyll serve -w
Configuration file: C:/Dropbox/Workbench/lunch-and-learn/_config.yml
Source: C:/Dropbox/Workbench/lunch-and-learn
Destination: C:/Dropbox/Workbench/lunch-and-learn/_site
Generating... done.
Auto-regeneration: enabled
C:/RailsInstaller/Ruby1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require': cannot load such file -- wdm (LoadError)
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/adapter.rb:207:in `load_dependent_adapter'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/adapters/windows.rb:33:in `load_dependent_adapter'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/adapter.rb:198:in `usable?'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/adapters/windows.rb:25:in `usable?'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/adapter.rb:190:in `usable_and_works?'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/adapter.rb:57:in `block in select_and_initialize'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/adapter.rb:55:in `each'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/adapter.rb:55:in `select_and_initialize'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/listener.rb:291:in `initialize_adapter'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/listener.rb:283:in `setup'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/listener.rb:52:in `start'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/jekyll-1.4.1/lib/jekyll/commands/build.rb:56:in `watch'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/jekyll-1.4.1/lib/jekyll/commands/build.rb:8:in `process'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/jekyll-1.4.1/bin/jekyll:97:in `block (2 levels) in <top (required)>'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/command.rb:180:in `call'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/command.rb:180:in `call'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/command.rb:155:in `run'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/runner.rb:402:in `run_active_command'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/runner.rb:66:in `run!'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/delegates.rb:11:in `run!'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/import.rb:10:in `block in <top (required)>'
值得注意的是,当我仅使用 jekyll serve
运行站点时,没有 --watch
或 -w
标志时,站点构建并很好地服务于端口 4000。然而,这对于开发来说并不理想。
最佳答案
如错误信息所示,未找到wdm
。
首先,更新你的 gem
gem update
然后,手动安装wdm
gem install wdm
关于ruby - 将 jekyll 与 --watch 标志一起使用会导致构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20524812/