Like the unix which utility.
Finds the first instance of a specified executable in the PATH
environment variable. Does not cache the results, so hash -r is not
needed when the PATH changes.
varwhich=require('which')// async usagewhich('node',function(er,resolvedPath){// er is returned if no "node" is found on the PATH// if it is found, then the absolute path to the exec is returned})// sync usage// throws if not foundvarresolved=which.sync('node')// Pass options to override the PATH and PATHEXT environment vars.which('node',{path: someOtherPath},function(er,resolved){if(er)throwerconsole.log('found at %j',resolved)})Same as the BSD which(1) binary.
usage: which [-as] program ...
You may pass an options object as the second argument.
path: Use instead of thePATHenvironment variable.pathExt: Use instead of thePATHEXTenvironment variable.all: Return all matches, instead of just the first one. Note that this means the function returns an array of strings instead of a single string.