diff --git a/lib/rails_live_reload/watcher.rb b/lib/rails_live_reload/watcher.rb
index c2cd800..218ade8 100644
--- a/lib/rails_live_reload/watcher.rb
+++ b/lib/rails_live_reload/watcher.rb
@@ -1,3 +1,5 @@
+require "fileutils"
+
 module RailsLiveReload
   class Watcher
     attr_reader :files, :sockets
@@ -21,6 +23,7 @@ def initialize
       end
 
       build_tree
+      create_socket_directory
       start_socket
       start_listener
     end
@@ -55,6 +58,10 @@ def reload_all
       end
     end
 
+    def create_socket_directory
+      FileUtils.mkdir_p File.dirname(RailsLiveReload.config.socket_path)
+    end
+
     def start_socket
       Thread.new do
         Socket.unix_server_socket(RailsLiveReload.config.socket_path.to_s) do |sock|