2013-04-26 3 views
7

저는 지금까지 우수한 Michael Hartl 's Rails 튜토리얼을 통해 작업하고 있습니다. 고급 설정 (Advanced Setup) 장에서 TDD에 도움이되는 방식으로 레일 환경을 구성하는 방법에 대해 설명합니다. 내가 가드를 설치하고, 내 spec/폴더에있는 테스트를 실행하여 제대로 실행됩니다. 그런데이 오류가 발생합니다 :Guard가 WDM을로드하지 않습니다

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가 지금보고 있습니다 ..."라고 말한 후 종료됩니다.

명백한 이유로 인해 스택 추적의 나머지 부분을 재현하지 않았습니다. 나는 최신 Rails Installer를 사용하여 Rails를 설치했다. 무슨 일 이니? 나는 이것에 대해 걱정할 필요가 있습니까? 그것은 적어도 부분적으로 작동하는 것으로 보입니다 ...

+3

'gem install wdm'? – Yule

+0

나는 실제로 그것을 한 것을 추가하는 것을 잊었다. 그게 나를 망쳐 놓는거야. 내 시스템에 두 개의 Ruby 설치가 있다고 덧붙여 야합니다. RailsInstaller와 함께 제공되는 제품과 이전에 사용했던 제품. 나는 'gem install wdm'을 나의 일반 셸과 RailsInstaller 셸에서 모두 실행했지만이 작업을 수행 할 수는 없습니다. –

+0

이전의 Ruby 설치와 RailsInstaller 설치를 모두 제거하고 RailsInstaller 만 다시 설치했습니다. 여전히 같은 문제가 있습니다. –

답변

14

그래서 일어난 일이 있습니다. 기본적으로 Windows에서 Listen은 폴링을 사용하여 파일 시스템 변경 사항을 확인합니다. 어떤 이유로 WDM을 사용하려고했습니다. 그래서 저는 이것을 Gemfile에 가져 가야했습니다 :

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

아마 Guard는 WDM을 사용하려고합니까? 그렇게 보석이 경우에만로드 할 시도됩니다의 만들

gem 'rb-inotify', github: 'nex3/rb-inotify', platforms: :ruby, require: false 
gem 'wdm', platforms: :mingw, require: false 

거짓을 : 윈도우와 리눅스를 통해 경비를 실행하기위한 다음 나는에서이 추천을 어디서 얻었

+0

그것은해야 하 고해야합니다. https://github.com/guard/listen/issues/149 불행히도 atm에서 작동하지 않지만 wdm없이 가드 폴링은 livereload가 워크 플로우의 일부인 경우 거의 쓸모가 없습니다. – isimmons

1

은 찾을 수 없습니다,하지만 난 주어졌다 해당 플랫폼에서 실행됩니다. 사용중인 루비 설치에 따라 Windows 환경에 mingw 대신 mswin이 필요할 수 있습니다.

관련 문제