2013-04-26 9 views
7

Ich arbeite durch Michael Hartl's Rails-Tutorial, das bis jetzt ausgezeichnet ist. Ich bin im erweiterten Setup-Kapitel, wo er durch die Konfiguration der Rails-Umgebung auf eine TDD-freundliche Weise geht. Ich habe Guard installiert, und es läuft ordnungsgemäß, während ich die Tests in meinem spec/folder durchführe. Aber dann spuckt es diesen Fehler aus:Guard wird nicht WDM laden

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) 

Ich habe WDM installiert. Ich weiß nicht, warum es nicht geladen werden kann.

Es scheint wie Listen Probleme beim Laden von WDM hat. Es beendet, nachdem es sagt "Wächter schaut jetzt ..."

Ich habe den Rest der Stapelspur aus offensichtlichen Gründen nicht reproduziert. Ich habe Rails mit dem neuesten Rails Installer installiert. Was ist denn hier los? Muss ich mir darüber Gedanken machen? Es scheint zumindest teilweise zu funktionieren ...

+3

'gem install wdm'? – Yule

+0

Ich habe vergessen hinzuzufügen, dass ich das tatsächlich getan habe. Das bringt mich durcheinander. Ich sollte hinzufügen, dass ich zwei Ruby-Installationen auf meinem System habe. Der mit dem RailsInstaller und der, den ich vorher benutzt habe. Ich habe 'Gem Install Wdm' sowohl von meiner regulären Shell als auch von der RailsInstaller-Shell ausgeführt, aber ich kann das nicht zum Laufen bringen. –

+0

Ich habe sowohl meine vorherige Ruby-Installation als auch die RailsInstaller-Installation deinstalliert und RailsInstaller nur neu installiert. Immer noch das gleiche Problem. –

Antwort

14

Also hier ist was passiert ist. Standardmäßig soll Listen unter Windows Abfragen verwenden, um nach Dateisystemänderungen zu suchen. Aus irgendeinem Grund versuchte es, WDM zu verwenden. Also, ich musste dies zu meinem Gemfile haben:

Vielleicht macht Guard Listen versuchen, WDM zu verwenden?

+0

Es tut und es sollte. https://github.com/guard/listen/issues/149 Leider funktioniert es nicht atm, aber Schutzabfrage ohne wdm ist ziemlich nutzlos, wenn Liveload Teil des Workflows ist. – isimmons

1

nicht gefunden, wo ich diese Empfehlung bekam aus, aber ich war für die Ausführung von Wache über Fenster folgendes gegeben und Linux:

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

der falsche ist es so machen die Steine ​​werden nur dann geladen werden versucht, wenn auf dieser Plattform laufen. Ihre Windows-Umgebung benötigt möglicherweise mswin anstelle von mingw, je nachdem, welche Ruby-Installation Sie verwenden.