Cross platform child_process#spawn and child_process#spawnSync
A cross platform solution to node's spawn and spawnSync.
$ npm install cross-spawn
If you are using
spawnSync on node 0.10 or older, you will also need to install
$ npm install spawn-sync
Node has issues when using spawn on Windows:
options.shellsupport on node < v6
All these issues are handled correctly by
There are some known modules, such as win-spawn, that try to solve this but they are either broken or provide faulty escaping of shell arguments.
var spawn = ;// Spawn NPM asynchronouslyvar child = ;// Spawn NPM synchronouslyvar results = spawn;
Starting from node v6,
spawn has a
shell option that allows you run commands from within a shell. This new option solves most of the problems that
cross-spawn attempts to solve, but:
If you are using the
shell option to spawn a command in a cross platform way, consider using
cross-spawn instead. You have been warned.
cross-spawn handles shebangs on Windows, its support is limited: e.g.: it doesn't handle arguments after the path, e.g.:
Remember to always test your code on Windows!
$ npm test
Released under the MIT License.