我正在学习 Michael Hartl 的 Rails 教程,到目前为止它非常好。我在高级设置章节,他在那里以有利于 TDD 的方式配置 Rails 环境。我安装了 Guard,它通过运行我在我的 spec/文件夹中的测试一直正常运行。但是,它会吐出这个错误:

C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/listen-1.0.2/lib/listen/adapter.rb:195:in `require': cannot load such file -- wdm (LoadError)

我已经安装了 wdm。我不知道为什么它无法加载它。

似乎 Listen 在加载 WDM 时遇到了问题。它在说“守卫现在正在监视……”后退出。

出于明显的原因,我没有复制堆栈跟踪的其余部分。我使用最新的 Rails 安装程序安装了 Rails。这里发生了什么?我需要担心这个吗?它似乎至少部分起作用......

最佳答案

所以这就是发生的事情。默认情况下,在 Windows 上,Listen 应该使用轮询来检查文件系统更改。出于某种原因,它试图使用 WDM。所以,我必须把这个放到我的 Gemfile 中:

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

也许 Guard 让 Listen 尝试使用 WDM?

关于ruby-on-rails - Guard 不会加载 WDM,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16232960/

10-09 00:37