Difference between NPM, NPX, and Yarn


Introduction


If you work with JavaScript, then you've probably heard about NPM, NPX, and Yarn. You have probably used them to install something. In this post I'll show you what they are, the differences between NPX, NPM and Yarn, and their advantages and disadvantages.


NPM - Node Package Manager



Node JS



When you install Node on your computer you have also installed npm (by default npm is included
in Node). Npm is a package manager that enables developers to share their packages or to install packages that were built by some other developers.

Packages also get updated and npm makes it easier for us to keep up with changes. It enables us to
update if we want to or use some other version of package if that is what we need.
Npm is great because you can use other people’s code and use it inside your app. All you have to do
is write npm install somePackage and import it inside your script. Also, you can write your own packages and share them with other developers.
This has it’s pros and cons. On the one hand, you can easily install and use some cool package and it won’t take much time, which is great. On the other hand, everyone can do this and that is the reason
why some packages have bugs or bad documentation.


NPX




Npx is npm package runner. How does it work? Let's say that you want to run some package and
you run it with npx, then you would type something like this: npx some-package .
Npx will search for that package in the local and global registry. When npx finds the package it will run that package from there. But let's say that you don't have that package installed locally or
globaly. In that case npx will download the package files and install the package. That package will be run from the local npx cache.


So, why would anyone use this npx?



Well, if you want to experiment in order to find what you need, then you don't want to install packages, you just want to try them (run them without installing). With npx you can run any package even if you don't have it installed. When you run the package with npx it won't be saved (meaning it won't be saved locally or globally), but if you want to use some package frequently you can always install it with npm.



YARN



Npm has some flaws so Facebook developers decided to build a new package manager that would
represent an alternative.
Yarn is package manager like npm, so in this section, I'll just make a comparison between yarn and
npm.
Yarn is faster than npm because when installing multiple packages npm installs them one at the time
while yarn is installing them concurrently.



#Guest Post By Programmer's Vision

0 Comments: