Red Shift

The official Infinite Red publication for React Native design & development. We’re a fully…

Follow publication

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 your package.jsonimmediately.
  • npm uninstall taco --save === yarn remove taco
    —-savecan be defaulted in NPM by npm config set save true but this is non-obvious to most developers. Adding and removing from package.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.11
  • npm 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 dependencies
  • yarn licenses generate-disclaimer — Automatically create your license dependency disclaimer
  • yarn 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

https://infinite.red/files/yarn.pdf

Yarn spools worth reading:

Continued education

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;

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Published in Red Shift

The official Infinite Red publication for React Native design & development. We’re a fully distributed team building world-class apps for over 20 years for clients all around the world.

Written by Gant Laborde

Software Consultant, Adjunct Professor, Published Author, Award Winning Speaker, Mentor, Organizer and Immature Nerd :D — Lately full of React Native Tech

Responses (27)

Write a response

You can also use “yarn why taco” to know why you have the taco package installed

--

Maybe this cheatsheet would make more sense as a page of MarkDown in a GitHub repo. Medium’s great, but it doesn’t seem very cheatsheet-friendly!

--