YOU can get the path of locally installed binaries with
npm bin
To execute a locally installed Eg: backtopjs binary independent of where you are in the project directory hierarchy you can use this bash construct
PATH=$(npm bin):$PATH backtopjs
you can also aliased this to npm-exec
alias npm-exec='PATH=$(npm bin):$PATH'
So, now you can
npm-exec backtopjs
to run the correct copy of backtopjs no matter of where you are
$ pwd
/Users/regular/project1
$ npm-exec which backtopjs
/Users/regular/project1/node_modules/.bin/coffee
$ cd lib/
$ npm-exec which backtopjs
/Users/regular/project1/node_modules/.bin/coffee
$ cd ~/project2
$ npm-exec which backtopjs
/Users/regular/project2/node_modules/.bin/coffee
Another easier way now is to use npm
Install using
npm i npx
$ npx [options] <command>[@version] [command-arg]...
By default, npx
will check whether exists in $PATH
, or in the local project binaries, and execute that.
Calling npx </code> when isn’t already in your
$PATH
will automatically install a package with that name from the NPM registry for you, and invoke it. When it’s done, the installed package won’t be anywhere in your globals, so you won’t have to worry about pollution in the long-term. You can prevent this behaviour by providing --no-installoption
.
For npm < 5.2.0
, you can install npx
package manually by running the following command npm i -g npx