find-bin
v1.1.0
Published
The minimum and most straightforward way to check if command exists and where the executable is.
Downloads
1,098
Readme
find-bin
To check if the command exists and where the executable file is, WITHOUT using child_process
.
npm install find-bin
yarn add find-bin
Example usage
const { lookpath, lookpathSync } = require('find-bin');
const p = await lookpath('bash');
const pSync = lookpathSync('bash');
// "/bin/bash", otherwise "undefined"
Advanced usage
const p = await lookpath('bash', {
include: ['/home/hiromu/.bin'],
exclude: ['/mnt'],
});
// include: Do scan also under `~/.bin`
// exclude: Do NOT scan under `/mnt`
const p = await lookpath('bash', {
includeCommonPaths: true,
});
// includeCommonPaths: Will scan for bash in many common binary directories, not just those specified in PATH
const p = await lookpath('bash', {
findAll: true,
});
// ["/bin/bash"], an array containing all the bash binaries found in any path
// includeCommonPaths: Will scan for bash in many common binary directories, not just those specified in PATH
Motivation
- I don't want to spawn
child_process
in order to kickwhich
,where
,whereis
, orcommand -v
. - then I checked Go implementation of
exec.LookPath
. - so I concluded that scanning under
$PATH
or$Path
is the best straightforward way to check if the command exists.