Search code examples
rubymiddleman

Middleman Server just stops on Windows 8 with file watcher


I am trying to get middleman up and running on a Windows 8 machine. (I appreciate that Middleman is aimed at the LAMP/OSX community, but it looks like a good tool, when it works)

I installed ruby 1.9.3 and added a reference to the bin folder to my PATH environment variable. I followed the instructions to install Middleman using the gem install middleman command.

I created a test project using middleman init.

I then tried to run the project using middleman server --verbose. Here's what I get:

== The Middleman is loading
== Activating: sprockets
== Reading:  Local config
Loaded extensions:
== Extension: sprockets
== Extension: frontmatter
== File Change: config.rb
== File Change: source/images/background.png
== File Change: source/images/middleman.png
== File Change: source/index.html.erb
== File Change: source/javascripts/all.js
== File Change: source/layouts/layout.erb
== File Change: source/stylesheets/all.css
== File Change: source/stylesheets/normalize.css
== Rebuilding resource list
[2014-11-05 09:57:01] INFO  WEBrick 1.3.1
[2014-11-05 09:57:01] INFO  ruby 1.9.3 (2014-10-27) [i386-mingw32]

And that's it. It just stops at that point. I have done some googling and the best I can come up with is to add the --disable-watcher flag, which gets me:

== The Middleman is loading
...
[2014-11-05 09:58:40] INFO  ruby 1.9.3 (2014-10-27) [i386-mingw32]
== The Middleman is standing watch at http://0.0.0.0:4567
== Inspect your site configuration at http://0.0.0.0:4567/__middleman/
[2014-11-05 09:58:40] INFO  WEBrick::HTTPServer#start: pid=18628 port=4567

The server now serves, but of now it isn't watching the file system so I'd either have to restart the server after every material edit, or build the project (which works fine, but not heroically fast) and check it another way.

So my question is: what is going wrong and how can I get it working?


Solution

  • Try using the --force-polling flag. It'll be a little slower than the watcher, but it should get the job done.