diff --git a/global-cli/index.js b/global-cli/index.js
index 9a1ddfec8f2a9f3b5df5b5cf0d618aa9f5c5354a..d5242f59c7b77d3dbf037179ed54bf69837333c9 100644
--- a/global-cli/index.js
+++ b/global-cli/index.js
@@ -37,7 +37,7 @@
 
 var fs = require('fs');
 var path = require('path');
-var spawn = require('child_process').spawn;
+var spawn = require('cross-spawn');
 var chalk = require('chalk');
 var semver = require('semver');
 var argv = require('minimist')(process.argv.slice(2));
diff --git a/global-cli/package.json b/global-cli/package.json
index 5cdf89f3d29c10348469bdfb09c20a11cb8bc18d..0e1cc74fa4283c92350c0c64d816b6bde86c0b36 100644
--- a/global-cli/package.json
+++ b/global-cli/package.json
@@ -9,6 +9,7 @@
   },
   "dependencies": {
     "chalk": "^1.1.1",
+    "cross-spawn": "^4.0.0",
     "minimist": "^1.2.0",
     "semver": "^5.0.3"
   }
diff --git a/package.json b/package.json
index 1f6813a8bad0b40f2905f1316aaf6ab9627fb9a5..1beea7f4734de71f7a8cf982bf47465b243e57a6 100644
--- a/package.json
+++ b/package.json
@@ -32,6 +32,7 @@
     "babel-preset-es2016": "^6.11.3",
     "babel-preset-react": "^6.11.1",
     "css-loader": "^0.23.1",
+    "cross-spawn": "^4.0.0",
     "eslint": "^2.13.1",
     "eslint-config-airbnb": "^9.0.1",
     "eslint-loader": "^1.4.1",
diff --git a/scripts/init.js b/scripts/init.js
index e9c12ecc6b01d56788d34e2840e7a94a6d3da9f8..ce6e2784f3a26e8cb8df4fd5a198e2c6597dc22a 100644
--- a/scripts/init.js
+++ b/scripts/init.js
@@ -9,7 +9,7 @@
 
 var fs = require('fs');
 var path = require('path');
-var spawn = require('child_process').spawn;
+var spawn = require('cross-spawn');
 
 module.exports = function(hostPath, appName, verbose) {
   var selfPath = path.join(hostPath, 'node_modules', 'create-react-app-scripts');