【问题标题】:Using jekyll with --watch flag causing build errors使用带有 --watch 标志的 jekyll 导致构建错误
【发布时间】:2013-12-11 16:39:01
【问题描述】:

我在 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

【问题讨论】:

    标签: ruby windows jekyll


    【解决方案1】:

    如报错信息所示,wdm未找到。

    首先,更新你的宝石

    gem update
    

    然后,手动安装wdm

    gem install wdm
    

    【讨论】:

    • 感谢您的回答。我在 Jekyll github 上得到了一个开发者的回复,给出了相同的确切方向,它就像一个魅力。我对整个 Ruby 有点陌生,无法解释错误消息以了解我缺少什么。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    • 2018-07-27
    • 2021-08-19
    • 2013-10-06
    • 2015-10-20
    • 2011-09-14
    • 1970-01-01
    相关资源
    最近更新 更多