diff --git a/tasks/e2e-installs.sh b/tasks/e2e-installs.sh
index 588642632479d144dca5d5ce24c8a72c14a9f128..ebff7d13a7b7cefd079a32d2d59360945eea792a 100755
--- a/tasks/e2e-installs.sh
+++ b/tasks/e2e-installs.sh
@@ -95,11 +95,11 @@ fi
 
 if hash npm 2>/dev/null
 then
-  # npm 5 is too buggy right now
+  # npm 5.0-5.4.0 is too buggy
   if [ $(npm -v | head -c 1) -eq 5 ]; then
-    npm i -g npm@^4.x
+    npm i -g npm@^5.4.1
   fi;
-  npm cache clean || npm cache verify
+  npm cache clean --force || npm cache verify
 fi
 
 # Prevent bootstrap, we only want top-level dependencies
diff --git a/tasks/e2e-kitchensink.sh b/tasks/e2e-kitchensink.sh
index ebbac271e6ee92e6efb55cae0bd8e11b0291c430..10bdc077931cce98d48ce4bc2499dc809596d251 100755
--- a/tasks/e2e-kitchensink.sh
+++ b/tasks/e2e-kitchensink.sh
@@ -87,11 +87,11 @@ fi
 
 if hash npm 2>/dev/null
 then
-  # npm 5 is too buggy right now
+  # npm 5.0-5.4.0 is too buggy
   if [ $(npm -v | head -c 1) -eq 5 ]; then
-    npm i -g npm@^4.x
+    npm i -g npm@^5.4.1
   fi;
-  npm cache clean || npm cache verify
+  npm cache clean --force || npm cache verify
 fi
 
 # Prevent bootstrap, we only want top-level dependencies
diff --git a/tasks/e2e-simple.sh b/tasks/e2e-simple.sh
index 48d705eef4c37b96115cee06fc8efdeb57784d33..84d095e9496cf4c54cbff84c064c4ceee04d6f3b 100755
--- a/tasks/e2e-simple.sh
+++ b/tasks/e2e-simple.sh
@@ -86,11 +86,11 @@ fi
 
 if hash npm 2>/dev/null
 then
-  # npm 5 is too buggy right now
+  # npm 5.0-5.4.0 is too buggy
   if [ $(npm -v | head -c 1) -eq 5 ]; then
-    npm i -g npm@^4.x
+    npm i -g npm@^5.4.1
   fi;
-  npm cache clean || npm cache verify
+  npm cache clean --force || npm cache verify
 fi
 
 # Prevent bootstrap, we only want top-level dependencies