diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -17,7 +17,8 @@
 
 If "cabal" sounds more familiar:
 
-1. `cabal install duplo`
+1. `cabal install alex`. This must run globally.
+2. `cabal install duplo`. This can be run in a sandbox.
 
 
 ## Usage
diff --git a/duplo.cabal b/duplo.cabal
--- a/duplo.cabal
+++ b/duplo.cabal
@@ -1,5 +1,5 @@
 name:                  duplo
-version:               1.6.2
+version:               1.6.3
 synopsis:              Frontend development build tool
 description:           Intuitive, simple building blocks for building composable, completely self-managed web applications
 license:               MIT
@@ -47,7 +47,6 @@
                      , warp                 == 3.0.*
                      , ansi-terminal        == 0.5.*
                      , text-format          == 0.3.*
-                     , alex                 == 3.1.*
   hs-source-dirs     : src/
   default-language   : Haskell2010
   default-extensions : OverloadedStrings
diff --git a/src/Duplo.hs b/src/Duplo.hs
--- a/src/Duplo.hs
+++ b/src/Duplo.hs
@@ -202,7 +202,10 @@
     -- Start a local server
     _ <- forkIO $ serve port
 
-    let targetDirs = [devPath, appPath, depsPath]
+    -- Only watch the dev and the app directories. We're not watching the
+    -- dependency directory because it triggers a race condition with
+    -- componentjs.
+    let targetDirs = [devPath, appPath]
     -- Make sure we have these directories to watch
     mapM_ (createDirectoryIfMissing True) targetDirs
     -- Watch for file changes
