npm does not stand for Node.js Package Manager 🤔

wait, what? 🤔

yes, you heard it right. npm does not stand for Node.js Package Manager.

npm is the package manager for the Node JavaScript platform. 🤘🏼 😯

it puts modules in place so that node can find them, and manages dependency conflicts intelligently.

they do not say what it stands for.

npm is the world’s largest software registry.

it is extremely configurable.

it consists of three distinct components:

  1. the website — to discover packages, set up profiles, and manage other aspects of your npm experience.
  2. the Command Line Interface (CLI) — runs from a terminal, and is how most developers interact with npm.
  3. the registry — a large public database of JavaScript software and the meta-information surrounding it.

confused about when to use npm?

-> below are the cases when you can think of going forward with npm

  • adapt packages of code for your apps, or incorporate packages as they are.
  • download standalone tools you can use right away.
  • run packages without downloading using npx.
  • share code with any npm user, anywhere.
  • restrict code to specific developers.
  • create organizations to coordinate package maintenance, coding, and developers.
  • form virtual teams by using organizations.
  • manage multiple versions of code and code dependencies.
  • update applications easily when underlying code is updated.
  • discover multiple ways to solve the same puzzle.
  • find other developers who are working on similar problems and projects.

you probably got npm because you want to install stuff.

the very first thing you will most likely want to run in any node program is npm install to install its dependencies.

developer usage:

if you’re using npm to develop and publish your code, check out the following help topics:

  • json: make a package.json file. See package.json.
  • link: links your current working code into Node’s path, so that you don’t have to reinstall every time you make a change. Use npm link to do this.
  • install: it’s a good idea to install things if you don’t need the symbolic link. Especially, installing other peoples code from the registry is done via npm install
  • adduser: create an account or log in. When you do this, npm will store credentials in the user config file.
  • publish: use the npm publish command to upload your code to the registry.

which npm package should you use?

-> npmtrends is the best tool to decide it. You can compare packages download stats, bundle sizes, github stars and more.

npm vs npx vs yarn (downloads in last 5 years) Ref. npmtrends


for mentoring, tutorials, and learning you can visit,

nodeSchool: an open source project run by volunteers with two goals: to create high quality programming curriculum and to host community learning events.

when you find issues, please report them: https://github.com/npm/cli/issues


if you liked this article or found it useful, then a follow would be much appreciated. Alternatively, you could buy me a coffee! All the support is much appreciated. :-)


Did you find this article valuable?

Support Chinmay Kude by becoming a sponsor. Any amount is appreciated!