333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# 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.