Why Yarn, when we have NPM?
This is the burning question now. NPM works great for thousands of developers but it won’t work that great for companies like Facebook , Google. If you’ve deleted your node_modules folder for any reason and run
npm install in the project console, npm will re download each and every package along with their dependencies which is too much time killing. Yarn is great in this purpose. It caches every package it downloads. If you have ever downloaded the package before, you can install it in offline mode too.It also parallelizes operations to maximize resource utilization so install time are faster than ever, like the rocket trying to escape the earth’s gravity!
Yarn is super secured. It uses checksums to verify the integrity of every installed package before its code is executed.
Yarn is reliable . According to their voice, “ Yarn is able to guarantee that an install that worked on one system will work exactly the same way on any other system.”
Installation or Setup
Detailed instructions on getting yarn set up or installed.
If you have
npm installed on your system:
npm install --global yarn
- via Homebrew:
brew install yarn
- via MacPorts:
sudo port install yarn(node will be installed if not present)
- via Chocolatey:
choco install yarn
- via Scoop:
scoop install yarn
- via installer: download installer
Installation of Yarn with npm
npm install --global yarn
If you didn’t have npm installed before, check there website documentation for more details. https://yarnpkg.com/en/docs/install
From NPM to Yarn
For the most of it, if you know NPM, you’re already set!
That adds a ‘package.json’ file in the root of your project
npm init === yarn init
These are all the same:
npm link === yarn link npm outdated === yarn outdated npm publish === yarn publish npm run === yarn run npm cache clean === yarn cache clean npm login === yarn login npm logout === yarn logout npm test === yarn test
‘Install’ is Yarn’s default behavior
npm install === yarn The React Js library is saved in your package.json file: npm install react --save === yarn add react npm install -g @angular/cli === yarn global add @angular/cli
Licensing with Yarn
Yarn can check the licenses of your dependencies and can also generate a license based on your package’s dependencies.
yarn licenses yarn licenses generate
Checking Package Dependencies with Yarn
yarn why package-name will identify why a package is installed and which other packages depend upon it.
yarn why react
Using yarn with git repos
Using private repos working with yarn caveat:
This works using
but will not work using
yarn. This change is required:
github is the same.
The ssh key is assumed to be saved on local machine