ruby - 将 jekyll 与 --watch 标志一起使用会导致构建错误

标签 ruby windows jekyll

我在 Windows 8 上使用 Jekyll 来处理一个小项目。到目前为止,我很喜欢 Jekyll,但在尝试使用 --watch 标志为我的网站提供服务时遇到了一个问题,该标志允许网站在对代码进行更改时在刷新时更新。

当我运行我的 Jekyll 站点时,我将打开我的 cmdcd 到正确的目录。根据 Jekyll 文档,我将在目录中执行 chcp 65001 以将编码更改为 UTF-8。现在,当我运行 jekyll serve -wjekyll 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。然而,这对于开发来说并不理想。

Link to Jekyll Usage

最佳答案

如错误信息所示,未找到wdm

首先,更新你的 gem

gem update

然后,手动安装wdm

gem install wdm

关于ruby - 将 jekyll 与 --watch 标志一起使用会导致构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20524812/

相关文章:

ruby-on-rails - Ruby on Rails 教程 Heroku 部署问题

python - 如何在 Windows 下用 Python 将表情符号渲染为图像?

java - 在 Windows 上使用 Java 访问 iTunes 歌词数据

python - 如何在命令提示符下打印出编码的亚洲字符 (gb2312)?

osx-mountain-lion - 在 OS X 10.8 上安装 jekyll-import 时遇到问题

jekyll - Jekyll 中的子模板

ruby - 编译 Ruby 的问题

ruby-on-rails - Ruby 从多维数组中提取数组

ruby-on-rails - 如何在 Rails Webpacker 中添加多个 source_path

jekyll - 有什么方法可以访问 javascript 文件中的 jekyll.environment 值吗?