What is NPM and how does it work?

What is NPM?

NPM stands for Node Package Manager. NPM is a package manager for Node.js packages or modules. Modules are JavaScript libraries you can include in your project.

NPM hosts thousands of free packages to download and use. It’s basically a package manager for JavaScript. NPM is also written entirely in JavaScript and was developed by Isaac Z. Schlueter. It was initially released on January 12, 2010.

NPM install all the dependencies of a project through the package.json file. It can also update and uninstall packages.

Node.js makes it possible to write applications in JavaScript on the server. It’s built on the V8 JavaScript runtime and written in C - so it’s fast. It was intended as a server environment for applications, but developers started using it to create tools to aid them in local task automation. Since then, a whole new ecosystem of Node-based tools (such as Grunt, Gulp, and Webpack) has evolved to transform the face of front-end development. To make use of these tools (or packages) in Node.js we need to be able to install and manage them in a useful way.

This is where npm, the Node package manager, comes in. It installs the packages you want to use and provides a user interface to work with them.

So, how does NPM work?

Before the start using npm, there is needed to install Node.js on the system.

From the Node.js download page and grab the version you need. There are Windows and Mac installers available, as well as pre-compiled Linux binaries and source code. For Linux, the user can also install Node via the package manager.

After the Node.js installation worked, npm install packages in local or global mode. In local mode, it installs the package in a “node_modules” folder in the parent working directory. This location is owned by the current user.

Global packages are installed in “{prefix}/lib/node_modules/” which is owned by root (where {prefix} is usually /usr/ or /usr/local). This means the user would have to use sudo to install packages globally, which could cause permission errors when resolving third-party dependencies, as well as being a security concern. Install global packages in a home directory. To do that create a new directory in the home folder.

With this simple configuration change, the user has altered the location to which global Node packages are installed. This also creates a .npmrc file in the home directory.

Open the command line interface and tell NPM to download the package you want.

NPM creates a folder named "node_modules", where the package will be placed. All the packages you install in the future will be placed in this folder.

Once the package is installed, it is ready to use.

Create a Node.js file that will convert the output.

If you want to maintain the same major release and update the package for patches even it can be done by using tilde sign (~) instead of the caret (^) which updates the patch and features but maintaining the same major release.

Why use it?

NPM lets developers reuse the code. Modules that focuses on the particular issue or handles a particular issue in a better way are exported as packages in npm which can be widely used in projects and which drastically reduces the development time and enhances the performance by the range of the quality of the packages chosen.

NPM is a package manager which manages its entry or to be precise dependencies in a file named package.json in the root directory.


It helps with installing various packages and resolving their various dependencies. It greatly helps with your Node development. NPM helps you install the various modules you need for your web development and not just given you a whole bunch of features you might never need.

Comments (0)

  • To add your comment please or

We use cookies to improve your experience on our site and to show you personalised advertising. Please read our cookie policy and privacy policy.

Got It!