NPM vs Yarn Cheat Sheet

Okay, so you’ve heard about this new JavaScript package manager called yarn, installed it with npm i -g yarn
, and now you want to know how to use it? For the most part if you know NPM, you’re already set! Here are the key notes for switching.
👍 Feel free to bookmark this article, as it will update often as yarn grows.
Cheat Sheet — What you need to know
npm install
===yarn
Install is the default behavior.npm install taco --save
===yarn add taco
The Taco package is saved to yourpackage.json
immediately.npm uninstall taco --save
===yarn remove taco
—-save
can be defaulted in NPM bynpm config set save true
but this is non-obvious to most developers. Adding and removing frompackage.json
is default in Yarn.npm install taco --save-dev
===yarn add taco --dev
npm update --save
===yarn upgrade
Great call on upgrade vs update, since that is exactly what it is doing! Version number moves, upgrade is happening!
*WARNING*npm update --save
seems to be kinda broken in 3.11npm install taco@latest --save
===yarn add taco
npm install taco --global
===yarn global add taco
As always, use global flag with care.
You can use this to use yarn to update itself with
yarn self-update
What you already know about yarn
The packages are the same as on the NPM registry. Yarn is basically a new installer, where NPM structure and registry is the same.
npm init
===yarn init
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
(and logout)npm test
===yarn test
npm install --production
===yarn --production
Things yarn has that NPM doesn’t
I’m skipping the items that they warn against using like yarn clean
yarn licenses ls
— Allows you to inspect the licenses of your dependenciesyarn licenses generate-disclaimer
— Automatically create your license dependency disclaimeryarn why taco
— Identify why ‘taco’ package is installed, detailing which other packages depend upon it (thanks Olivier Combe).- ⬆️ Emojis
- Speed 🏃⌁
- Automatic shrinkwrap with the yarn lockfile
- Security-centric design
yarn upgrade-interactive
— Allows you to selectively upgrade specific packages in a simple way

Things NPM has that yarn doesn’t
npm xmas
=== **NO EQUIVALENT**npm visnup
=== **NO EQUIVALENT**
MOAR!
Here’s a printable version of this cheat sheet, special thanks to Justin Huskey

Yarn spools worth reading:
- Yehuda Katz using Yarn — http://yehudakatz.com/2016/10/11/im-excited-to-work-on-yarn-the-new-js-package-manager-2/
- Facebook Announce — https://code.facebook.com/posts/1840075619545360
- News — http://thenextweb.com/dd/2016/10/12/facebook-launches-yarn-a-faster-npm-client/
- Benchmarking — https://www.berriart.com/blog/2016/10/npm-yarn-benchmark/
Continued education
- https://yarnpkg.com/en/docs/
- https://twitter.com/yarnpkg
- https://github.com/yarnpkg/yarn
- https://yarnpkg.com/en/docs/migrating-from-npm
Misc
About Gant
Gant Laborde is Technical Lead at Infinite Red (⚙ web and mobile app dev ⚙), published author, adjunct professor, public speaker, and mad-scientist in training. Read the writings of Gant and his co-workers in our Red Shift publication. If you’re looking to discuss nerdy tech, he’s all ears. If you’ve got a conference tech, he’s happy to present.
View half-witty, half-groan technical tweets with @GantLaborde on Twitter, and follow him on Medium and GitHub.

Interested in learning how to bring AI and Machine Learning to web with TensorFlow.js?
JavaScript lets you create front-end websites that can leverage the power of AI directly on the browser. Learn from scratch with this book.
Reserve your copy of Learning Tensorflow.js on Amazon

code = developer + coffee;