Get your PATH prepended with locally installed binaries
JavaScript
108
44 commits
updated Sep 18, 2026
Get your PATH prepended with locally installed binaries
In npm run scripts you can execute locally installed binaries by name. This enables the same outside npm.
npm install npm-run-path
import childProcess from 'node:child_process';
import {npmRunPath, npmRunPathEnv} from 'npm-run-path';
console.log(process.env.PATH);
//=> '/usr/local/bin'
console.log(npmRunPath());
//=> '/Users/sindresorhus/dev/foo/node_modules/.bin:/Users/sindresorhus/dev/node_modules/.bin:/Users/sindresorhus/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/usr/local/bin'
// `foo` is a locally installed binary
childProcess.execFileSync('foo', {
env: npmRunPathEnv()
});
options: Options
Returns: string
Returns the augmented PATH string.
options: Options
Returns: object
Returns the augmented process.env object.
Type: object
Type: string | URL
Default: process.cwd()
The working directory.
Type: string | URL
Default: process.execPath
The path to the current Node.js executable.
This can be either an absolute path or a path relative to the cwd option.
Type: boolean
Default: true
Whether to push the current Node.js executable's directory (execPath option) to the front of PATH.
Type: boolean
Default: true
Whether to push the locally installed binaries' directory to the front of PATH.
Type: string
Default: PATH
The PATH to be appended.
Set it to an empty string to exclude the default PATH.
Only available with npmRunPath(), not npmRunPathEnv().
Type: object
Default: process.env
Accepts an object of environment variables, like process.env, and modifies the PATH using the correct PATH key. Use this if you're modifying the PATH for use in the child_process options.
Only available with npmRunPathEnv(), not npmRunPath().
1,683 followers · starred Jan 2016
9 followers · starred Aug 2023
Get your PATH prepended with locally installed binaries
JavaScript
108
44 commits
updated Sep 18, 2026
Get your PATH prepended with locally installed binaries
In npm run scripts you can execute locally installed binaries by name. This enables the same outside npm.
npm install npm-run-path
import childProcess from 'node:child_process';
import {npmRunPath, npmRunPathEnv} from 'npm-run-path';
console.log(process.env.PATH);
//=> '/usr/local/bin'
console.log(npmRunPath());
//=> '/Users/sindresorhus/dev/foo/node_modules/.bin:/Users/sindresorhus/dev/node_modules/.bin:/Users/sindresorhus/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/usr/local/bin'
// `foo` is a locally installed binary
childProcess.execFileSync('foo', {
env: npmRunPathEnv()
});
options: Options
Returns: string
Returns the augmented PATH string.
options: Options
Returns: object
Returns the augmented process.env object.
Type: object
Type: string | URL
Default: process.cwd()
The working directory.
Type: string | URL
Default: process.execPath
The path to the current Node.js executable.
This can be either an absolute path or a path relative to the cwd option.
Type: boolean
Default: true
Whether to push the current Node.js executable's directory (execPath option) to the front of PATH.
Type: boolean
Default: true
Whether to push the locally installed binaries' directory to the front of PATH.
Type: string
Default: PATH
The PATH to be appended.
Set it to an empty string to exclude the default PATH.
Only available with npmRunPath(), not npmRunPathEnv().
Type: object
Default: process.env
Accepts an object of environment variables, like process.env, and modifies the PATH using the correct PATH key. Use this if you're modifying the PATH for use in the child_process options.
Only available with npmRunPathEnv(), not npmRunPath().
1,683 followers · starred Jan 2016
9 followers · starred Aug 2023