Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Like which(1) unix command. Find the first instance of an executable in the PATH.
Branch: master


latest commit e576e42f0c
@isaacs isaacs authored
Failed to load latest commit information.
bin should 0755 the bin
test Refactored and fixed undefined error on Windows
.travis.yml travis
LICENSE isc license Update docs
package.json v1.1.2
which.js Refactored and fixed undefined error on Windows


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.


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')

// 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)


If you pass in options, then path and pathExt are relevant.

Something went wrong with that request. Please try again.