Difficulties in understanding NPM

I just started the challenge “Manage Packages with npm” and to my surprise, I could not understand an inch of it. Is it very difficult or is it just me who is facing problems. Although I am able to run the instructions mentioned but not able to understand the underlying concept!

I am not really able to make out what npm really is and what it does. Please help.


From the docs in case you haven’t seen: https://docs.npmjs.com/getting-started/what-is-npm

Are you familiar with the concept of package managers? https://en.wikipedia.org/wiki/Package_manager

NPM is a package manager that enables you to use packages (software) written by others that your application might need. This is what the term ‘dependencies’ refers to.

It’s normal for a project to have many dependencies, so rather than manage each of these individually a package manager allows easier management (installing / updating / removing).

You might also have seen the reference to a ‘package.json’ file. This documents each package and which version your project depends on, this makes it easy for others to mirror your project by setting up from the package.json.

Hopefully that helps?