首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >防护不会加载WDM

防护不会加载WDM
EN

Stack Overflow用户
提问于 2013-04-26 17:22:13
回答 3查看 3.3K关注 0票数 7

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

代码语言:javascript
运行
复制
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时遇到了问题。它在显示"Guard is watching.“之后退出

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-27 04:58:42

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

代码语言:javascript
运行
复制
require 'rbconfig'
gem 'wdm', '>= 0.1.0' if RbConfig::CONFIG['target_os'] =~ /mswin|mingw/i

也许Guard让Listen尝试使用WDM?

票数 14
EN

Stack Overflow用户

发布于 2013-08-24 04:49:03

我不知道我是从哪里得到这个建议的,但我得到了以下关于在windows和linux上运行卫士的信息:

代码语言:javascript
运行
复制
gem 'rb-inotify', github: 'nex3/rb-inotify', platforms: :ruby, require: false
gem 'wdm', platforms: :mingw, require: false

false使得只有在该平台上运行时才会尝试加载gem。您的windows环境可能需要mswin而不是mingw,这取决于您正在使用的ruby安装。

票数 1
EN

Stack Overflow用户

发布于 2018-04-05 03:15:03

就像二进制Phile一样,如果你在windows和unix中都使用rails,你应该在Gemfile中使用以下代码:

代码语言:javascript
运行
复制
gem 'wdm','>= 0.1.0', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

它工作得很好,而且是可读的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16232960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档