| # which |
| |
| 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. |
| |
| ## USAGE |
| |
| ```javascript |
| var which = require('which') |
| |
| // async usage |
| which('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 found |
| var resolved = which.sync('node') |
| |
| // if nothrow option is used, returns null if not found |
| resolved = which.sync('node', {nothrow: true}) |
| |
| // Pass options to override the PATH and PATHEXT environment vars. |
| which('node', { path: someOtherPath }, function (er, resolved) { |
| if (er) |
| throw er |
| console.log('found at %j', resolved) |
| }) |
| ``` |
| |
| ## CLI USAGE |
| |
| Same as the BSD `which(1)` binary. |
| |
| ``` |
| usage: which [-as] program ... |
| ``` |
| |
| ## OPTIONS |
| |
| You may pass an options object as the second argument. |
| |
| - `path`: Use instead of the `PATH` environment variable. |
| - `pathExt`: Use instead of the `PATHEXT` environment 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. |