2013-12-08 62 views
8

我一直在使用Jekyll在Windows上的一些主要問題。我終於得到它的工作,所以我跑Ruby錯誤:無法加載這樣的文件 - wdm(LoadError)

jekyll build

然後

jekyll serve --watch

然後我得到以下錯誤,誰能幫助?

完整的錯誤是:

C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': 
cannot load such file -- wdm (LoadError) 
     from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:i 
n `require' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/adapter 
.rb:207:in `load_dependent_adapter' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/adapter 
s/windows.rb:33:in `load_dependent_adapter' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/adapter 
.rb:198:in `usable?' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/adapter 
s/windows.rb:25:in `usable?' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/adapter 
.rb:190:in `usable_and_works?' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/adapter 
.rb:57:in `block in select_and_initialize' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/adapter 
.rb:55:in `each' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/adapter 
.rb:55:in `select_and_initialize' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/listene 
r.rb:291:in `initialize_adapter' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/listene 
r.rb:283:in `setup' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/listene 
r.rb:52:in `start' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-1.4.0/lib/jekyll/command 
s/build.rb:56:in `watch' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-1.4.0/lib/jekyll/command 
s/build.rb:8:in `process' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-1.4.0/bin/jekyll:97:in ` 
block (2 levels) in <top (required)>' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/c 
ommand.rb:180:in `call' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/c 
ommand.rb:180:in `call' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/c 
ommand.rb:155:in `run' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/r 
unner.rb:402:in `run_active_command' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/r 
unner.rb:66:in `run!' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/d 
elegates.rb:11:in `run!' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/i 
mport.rb:10:in `block in <top (required)>' 

回答

8

你似乎是一個非常老版本的listen寶石(1.3.1)的運行。嘗試更新到最新版本(2.4.0)

$ gem update listen 

在你Gemfile

require 'rbconfig' 

gem 'listen', '~> 2.4' 
gem 'wdm', '>= 0.1.0' if RbConfig::CONFIG['target_os'] =~ /mswin|mingw|cygwin/i 

新增寶石WDM因爲我不知道,如果聽創業板將require it by itself但自述聲明這是可選的,否則它將回退到輪詢,這是一種不太有效的方式。

+0

儘管如此,在該行之後再次運行watch,並且仍然出現錯誤。奇怪,它在一段時間之前。儘管存在這兩條線,但它認爲它不能找到wdm。 – Doidgey

+0

'捆綁執行jekyll服務 - 觀察' –

+1

阿哈,我認爲這是做到了!尊重人。 – Doidgey

3

This blog post說:

# If you get the following error with the –watch option 

C:/Ruby193/lib/ruby/gems/1.9.1/gems/listen-1.3.1/lib/listen/adapter.rb:207:in `require': cannot load such file -- wdm (LoadError) 

# To fix that error, open the gemfile in your jekyll project directory and add these two lines: 

require 'rbconfig' 
gem 'wdm', '>= 0.1.0' if RbConfig::CONFIG['target_os'] =~ /mswin|mingw/i 
+1

感謝此:) – Doidgey

10

我有同樣的問題。非常簡單地通過設置「Windows目錄監視器」來修復問題。

gem install wdm 

,包括該線路的Gemfile:

gem 'wdm' 

祝你好運!

+3

爲我工作... – user1429980

+0

也爲我工作!謝謝。 –

相關問題