diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
index ff8ad8ff784616bfb282589702f6e2f5a5a6a4fa..aa13d89c7bcb9726d3f66bf544de4bae54ad1ef9 100755
--- a/tools/run_tests/run_tests.py
+++ b/tools/run_tests/run_tests.py
@@ -202,7 +202,9 @@ class NodeLanguage(object):
 
   def pre_build_steps(self):
     # Default to 1 week cache expiration
-    return [['npm', 'update', '--cache-min', '604800']]
+    return [['npm', 'update', '--cache-min', '604800'],
+            ['npm', 'install', '-g', 'node-gyp-install'],
+            ['node-gyp-install']]
 
   def make_targets(self):
     return []