ruby-on-railsguardspork

Rails tutorial guard and spork


I'm new to rails and following the popular rails tutorial by Michael Hartl.

D:\Work\Projects\github\rails_projects\sample_app>ruby -v ruby 1.9.3p545 (2014-02-24) [i386-mingw32]

D:\Work\Projects\github\rails_projects\sample_app>rails -v Rails 4.0.2

When I reached 3.6.2 (https://www.railstutorial.org/book/static_pages#sec-guard) I found a problem: guard does not watch the files at all. It executes the specs only once and exits.

When I added the spork and run the guard it shows me the following:

D:\Work\Projects\github\rails_projects\sample_app>bundle exec guard
13:07:02 - INFO - Guard is using Notifu to send notifications.
13:07:02 - INFO - Guard is using TerminalTitle to send notifications.
13:07:02 - INFO - Starting Spork for RSpec
Using RSpec, Rails
  -- Rinda Ring Server listening for connections...

  -- Starting to fill pool...
     Wait until at least one slave is provided before running tests...
  ** CTRL+BREAK to stop Spork and kill all ruby slave processes **
Spork is ready and listening on 8989!
   -- build slave 1...
   -- build slave 2...
Preloading Rails environment
Preloading Rails environment
Loading Spork.prefork block...
Loading Spork.prefork block...
  --> DRb magazine_slave_service: 1 provided...
  --> DRb magazine_slave_service: 2 provided...
13:07:24 - INFO - Spork server for RSpec successfully started
ā†]2;[Spork] RSpec successfully started
13:07:24 - INFO - Guard::RSpec is running
13:07:24 - INFO - Running all specs
Running tests with args ["--drb", "-f", "progress", "-r", "C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/gua
rd-rspec-2.5.0/lib/guard/rspec/formatter.rb", "-f", "Guard::RSpec::Formatter", "--failure-exit-code", "2", "spec"].
..
  <-- take tuple(2); slave.run...
........

Finished in 0.16201 seconds
8 examples, 0 failures
ā†]2;[RSpec results] 8 examples, 0 failures

Randomized with seed 18520

  <-- Slave(2) run done!
   -- (2);run done
Done.

13:07:32 - INFO - Guard is now watching at 'D:/Work/Projects/github/rails_projects/sample_app'

D:\Work\Projects\github\rails_projects\sample_app>   -- build slave 2...
Preloading Rails environment
Loading Spork.prefork block...
  --> DRb magazine_slave_service: 2 provided...

Could anyone please tell me how to get this stuff working on Windows 7?


Solution

  • I've found the answer: https://stackoverflow.com/a/11773892/3999443

    As soon as Win does not support forking it seems that that spork won't work on Win platforms. Use pure guard then.