title | datePublished | cuid | slug | cover | tags |
---|---|---|---|---|---|
Diving Deep into NPM Ecosystem |
Sun May 28 2023 16:00:21 GMT+0000 (Coordinated Universal Time) |
cli7lxe4i000709mmd6e60yom |
diving-deep-into-npm-ecosystem |
javascript, nodejs, npm, devsintechblogs |
Hey, We are back with a blog on the most used package manager. In this blog, we will try to learn one of the package managers of JavaScript and it is also a default package manager for Node.js runtime environment. In this blog, I will cover all the things related to NPM and will describe What, Why, and How "NPM" is used in development. At the end, I will also provide a few links related to NPM where you get even more good ideas regarding the things we discussed. Let's JUMP!!
The acronym of NPM is **N**ode **P**ackage **M**anager.
Firstly it is not a single so-called software/application we can able to download but it is come up with Node.js which is a run time environment for executing JavaScript code. While downloading the Node we can get the NPM also.
It is a library and registry for JavaScript software packages. It is also the world's largest software registry.
Before getting directly into its usage, working let's get an idea about packages.
A software package typically contains related programs that can perform different functions. In simple terms, if are using some part of code again and again in your development you can make it as a Module and use that wherever it needs.
But these modules which we create are up to our system only!!!. It would be super cool if all the developers(Js) chose one particular place to search for other developer modules and even launch their modules which they think the particular module is a common use case in the development, it reduces the time.
In simple words the moment when you have a problem in your mind there is a solution available.
Node.js has a lot of inbuilt modules. As it has a lot of modules there is a need for someone to manage all of those. This is where NPM came into the picture.
Imagine having to manually download libraries such as React, Bootstrap, and Styled Components to get your project running. If the library size is too long then it consumes a lot of system memory.
You’d have to check each package’s version number and get the correct dependencies as well. Seems super time-consuming right !!?
We no longer have to manage third-party packages for our project manually. It’s all been made easy with NPM.
In simple words, it manages all the packages of one particular project. It also has a super facilitated command line interface.
As I said early we can't install the NPM package separately. We can able to get that by installing node.js.
By using the CLI command we can even make a simple check should the package manager is installed successfully or not we can cross check the version of the NPM exists.
npm version(npm -v) ---> Show the version of NPM
Mostly we can handle the NPM ecosystem through the command line only.
Let's imagine we need the package from the NPM to be used in one of our projects. For that, we need to install the particular package in our system either globally or locally mostly it depends on the type of package we are installing.
If we are using one of the packages most frequently good to install that one globally.
The installation of any package is quite simple and short.
npm install <packagename>
The above is the simple command for installing. With a few modifications, we can get the most out of the installation.
npm install <packagename@verstion_number>
The above command states that we can even install a specific version of the package by placing the version number after "@"
In this blog, I just tried to give a basic idea of what is NPM and why I didn't get deep into it but I try to explain to you in my upcoming blogs stay tuned my beautiful readers. I hope you learn something new through this blog.
To get a visual idea of NPM working and use case I highly recommend the below video to start.
%[https://www.youtube.com/watch?v=8Rmj5UY5mJk]
That's it about the blog. Do share your valuable feedback in the comment section feel free. Do connect with me on other socials to learn from each other.