When you install using
npm a package into your
node_modules folder, or also globally, how do you use it in your Node code?
Say you install
npm install lodash
This is going to install the package in the local
To use it in your code, you just need to import it into your program using
const _ = require('lodash')
What if your package is an executable?
In this case, it will put the executable file under the
One easy way to demonstrate this is cowsay.
The cowsay package provides a command line program that can be executed to make a cow say something (and other animals as well 🦊).
When you install the package using
npm install cowsay, it will install itself and a few dependencies in the node_modules folder:
There is a hidden .bin folder, which contains symbolic links to the cowsay binaries:
How do you execute those?
You can of course type
./node_modules/.bin/cowsay to run it, and it works, but npx, included in the recent versions of npm (since 5.2), is a much better option. You just run:
and npx will find the package location.