> For the complete documentation index, see [llms.txt](https://web-dev-guide.wishtack.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://web-dev-guide.wishtack.io/tools/npm.md).

# NPM

**NPM&#x20;*****(Node Package Manager)***  is the official Node.js package manager.

It is automatically installed with Node.js and is used to handle JavaScript *(browser & Node.js)* dependencies.

> For those who knew [bower](https://bower.io/), well, it's dead.

NPM allows:

* Dependencies management *(just like apt, gem, maven, nugget, pip, yum...).*
* JavaScript modules creation and publishing.
* Download and install of dependencies depending on a module's dependencies description.
* Sharing entry point scripts with developers and machines *(e.g.: Continuous Integration)* like `build`, `debug`, `deploy`, `test` etc...

We will use NPM once, to install [Yarn](/tools/yarn.md)...

... because it's better *(Cf.* [*Yarn*](/tools/yarn.md)*)*.
