Introduction to npm

In the last article, you learned how to get started with integrating NodeJS in your apps. In this guide, you will learn how to install and use packages from Node JS NPM.

What is NPM and why use it?

NPM is a package manager for the NodeJS library. Via NPM, developers can use a plethora of modules which allows the programmer to extend their program’s functionality without writing complicated amounts of code.
Furthermore, it is also a host for a multitude of third party packages to enhance your project. Some famous examples include:

  • express : lets you build a web server and perform server side operations with ease.
  • morgan: logs HTTP requests, which gives the developer concise insight on their app’s performance and reliability.

Usage of NPM consists of two parts:

  • a terminal interface: Will help you publish and download packages.
  • online repository: hosts the JavaScript packages

Here is a visual explanation:

Now that we have covered a brief introduction to NPM, let’s get started!

NPM: The fundamentals

Project creation with npm

As the first step, you have to first tell NPM to initialize your repository. To do so, use the following terminal command in your project folder:

mkdir beginners #create a folder
cd beginners #go into this folder
npm init -y #finally, initialize repository

`This will be the output in the console:

As a result, this will create a package.json file in your application folder:

Installing modules

If you want to install a package locally for your app, run the following terminal command:

npm i <package_name>
# for example, to install express
npm i express

Alternatively, to install a package globally, use the -g argument:

npm i -g <package_name>
# to install expo-cli:
npm i -g expo-cli

When to install packages globally? Use global packages for modules that are actually command line programs, for example expo-cli. Otherwise, install the package without the -g argument.
This will create a node_modules folder on your computer:

Additional NPM Commands

To see all available options, use the help command:

npm help

To get the current installed version, pass in the -v argument:

npm -v
# or
npm --version

To install a specific version of a package, for example, express:

npm install express@4.2.0

However if you want to install latest version of a package, (this is useful when a package requires an update):

npm install express@latest

You can even install more than one package within one command like so:

npm i react react-dom babel babel-core

To update npm to its latest version, type

npm i -g npm@latest

To remove a module: (for example, **express)

npm rm express

The Package.json file

Notice that if we use NPM in our app, the project automatically creates a package.json file. What is a package.json file?

Simply put, a package.json file is a manifest of your project that includes the installed packages and and dependencies. Furthermore, it also covers info about its unique source control, and specific data like the project’s name, description, version, and author.
Here are the core parts of this file:

  "name": "myproject", // The name of your project
  "version": "0.0.1", // The version of your project
  "description": "Creates a simple project.", // The description of your project
  "main": "index.js"
  "license": "MIT" // The license of your project
  "dependencies": { //installed modules
    "fill-keys": "^1.0.2",
    "module-not-found-error": "^1.0.0",
    "resolve": "~1.1.7"

The package.json file always follows the JSON format, which allows it to be easily read as metadata and parsed by machines.


In this article, you learned how to use and install packages from the Node JS NPM repository. This is one of the most useful skills for any JavaScript beginner.

Thank you so much for reading! Happy coding!

In the next article, you will learn the fundamentals of Express.

Scroll to Top