我正在学习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时遇到了问题。它在显示"Guard is watching.“之后退出
由于显而易见的原因,我没有重现堆栈跟踪的其余部分。我使用最新的Rails安装程序安装了Rails。这里发生了什么事?我需要担心这个吗?它似乎至少部分起作用了。
发布于 2013-04-27 04:58:42
事情是这样发生的。默认情况下,在Windows上,Listen应使用轮询来检查文件系统更改。出于某种原因,它试图使用WDM。所以,我不得不把这个放到我的Gemfile中:
require 'rbconfig'
gem 'wdm', '>= 0.1.0' if RbConfig::CONFIG['target_os'] =~ /mswin|mingw/i也许Guard让Listen尝试使用WDM?
发布于 2013-08-24 04:49:03
我不知道我是从哪里得到这个建议的,但我得到了以下关于在windows和linux上运行卫士的信息:
gem 'rb-inotify', github: 'nex3/rb-inotify', platforms: :ruby, require: false
gem 'wdm', platforms: :mingw, require: falsefalse使得只有在该平台上运行时才会尝试加载gem。您的windows环境可能需要mswin而不是mingw,这取决于您正在使用的ruby安装。
发布于 2018-04-05 03:15:03
就像二进制Phile一样,如果你在windows和unix中都使用rails,你应该在Gemfile中使用以下代码:
gem 'wdm','>= 0.1.0', platforms: [:mingw, :mswin, :x64_mingw, :jruby]它工作得很好,而且是可读的。
https://stackoverflow.com/questions/16232960
复制相似问题