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 spawn-sync
:
$ npm install spawn-sync
Node has issues when using spawn on Windows:
del
or dir
All these issues are handled correctly by cross-spawn
. 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.
Exactly the same way as node‘s spawn
or spawnSync
, so it’s a drop in replacement.
var spawn = require('cross-spawn'); // Spawn NPM asynchronously var child = spawn('npm', ['list', '-g', '-depth', '0'], { stdio: 'inherit' }); // Spawn NPM synchronously var results = spawn.sync('npm', ['list', '-g', '-depth', '0'], { stdio: 'inherit' });
On Windows, cross-spawn will only spawn cmd.exe
if necessary. If the extension of the executable is .exe
or .com
, it will spawn it directly. If you wish to override this behavior and always spawn a shell, pass the {shell: true}
option.
$ npm test
Released under the MIT License.