NodeJS NPM (original) (raw)

NPM (Node Package Manager) is a package manager for NodeJS modules. It helps developers manage project dependencies, scripts, and third-party libraries. By installing NodeJS on your system, NPM is automatically installed, and ready to use.

Package in NodeJs

A package in NodeJS is a reusable module of code that adds functionality to your application. It can be anything from a small utility function to a full-featured library.

How to Use NPM with NodeJS?

To start using NPM in your project, follow these simple steps

Step 1: Install NodeJS and NPM

First, you need to install NodeJS. NPM is bundled with the NodeJS installation. You can follow our article to Install the Node and NPM- How to install Node on your system

Step 2: Verify the Installation

After installation, verify NodeJS and NPM are installed by running the following commands in your terminal:

node -v
npm -v

These commands will show the installed versions of NodeJS and NPM.

show the installed versions of Node.js

NodeJS NPM Version

Step 3: Initialize a New NodeJS Project

In the terminal, navigate to your project directory and run:

npm init -y

This will create a package.json file, which stores metadata about your project, including dependencies and scripts.

Step 4: Install Packages with NPM

To install a package, use the following command

npm install

For example, to install the Express.js framework

npm install express

This will add express to the node_modules folder and automatically update the package.json file with the installed package information.

**Step 5: Install Packages Globally

To install packages that you want to use across multiple projects, use the -g flag:

npm install -g

**Step 6: Run Scripts

You can also define custom scripts in the package.json file under the “scripts” section. For example:

{
"scripts": {
"start": "node app.js"
}
}

Then, run the script with

npm start

Using NPM Package in the project

Create a file named **app.js in the project directory to use the package

JavaScript `

//app.js

const express = require('express');//import the required package const app = express();

app.get('/', (req, res) => { res.send('Hello, World!'); });

app.listen(3000, () => { console.log('Server running at http://localhost:3000'); });

`

**Now run the application with

node app.js

Visit **http://localhost:3000 in your browser, and you should see the message: **Hello, World!

Managing Project Dependencies

1. Installing All Dependencies

In a NodeJS project, dependencies are stored in a package.json file. To install all dependencies listed in the file, run:

npm install

This will download all required packages and place them in the node_modules folder.

2. Installing a Specific Package

To install a specific package, use:

npm install

You can also install a package as a development dependency using:

npm install --save-dev

Development dependencies are packages needed only during development, such as testing libraries.

To install a package and simultaneously save it in package.json file (in case using NodeJS), add **–save flag. The **–save flag is default in npm install command so it is equal to **npm install package_name command.

**Example:

npm install express --save

Usage of Flags:

**Note: If there is a package.json file with all the packages mentioned as dependencies already, just type npm install in terminal

3. Updating Packages

You can easily update packages in your project using the following command

npm update

This will update all packages to their latest compatible versions based on the version constraints in the package.json file.

**To update a specific package, run

npm update

4. Uninstalling Packages

To uninstall packages using npm, follow the below syntax:

npm uninstall

**For uninstall Global Packages

npm uninstall package_name -g

NPM has a massive library of packages. Here are a few popular packages that can enhance your NodeJS applications

Packages Description
Express A fast, minimal web framework for building APIs and web applications.
Mongoose A MongoDB object modeling tool for NodeJS.
Lodash A utility library delivering consistency, customization, and performance.
Axios A promise-based HTTP client for making HTTP requests.
React A popular front-end library used to build user interfaces.
Dotenv Loads environment variables from a .env file into process.env.
Nodemon Automatically restarts the server during development when file changes are detected.
Jest A JavaScript testing framework designed to ensure correctness of any NodeJS code.
Socket.io Enables real-time, bidirectional communication between web clients and servers.

Versioning in NPM

NPM allows you to manage package versions. This is important when you want to ensure that a specific version of a library is used across all environments.

**Install a Specific Version

To install a specific version of a package, use:

npm install @

**For example:

npm install express@4.17.1

This will install version 4.17.1 of Express, regardless of the latest version.

**Using Semantic Versioning to manage packages

versioning major minor patch explanation

Alternative to NPM: Yarn and pnpm

While NPM is the default package manager for NodeJS, there are alternatives like Yarn and pnpm. These tools aim to provide faster package installations and additional features but work in similar ways to NPM.

Best Practices for Using NPM in NodeJS Projects

Conclusion

NPM (Node Package Manager) is an essential tool for managing NodeJS packages and dependencies, making development more efficient and scalable. It allows developers to install, update, and manage libraries easily, supporting both local and global installations. With features like version control, dependency management, and automation scripts, NPM** enhances the development workflow.