DEV Community

Cover image for Why I Use Yarn, Not npm

Why I Use Yarn, Not npm

Josh Pollock on January 18, 2020

Update: This post is based on using Yarn 1. A major update Yarn 2 has been released. I use Yarn 1.x. In the comments of my post about things I do ...
Collapse
 
x1k profile image
Asaju Enitan

living in a country with expensive internet data, I feel like Yarn was made for me🙂.
Say for example, I forgot that I have a package installed, trying to reinstall with yarn will exit with it telling me it's been installed, also, if I had a network error while installing packages, it doesn't reinstall all the packages, it installs the specific one needed, I could go on and on about this. But the BOC is Yarn >>>>>>>>>> NPM😁

Collapse
 
moopet profile image
Ben Sinclair

Hello-world in gatsby is a quarter of a gigabyte. I understand that having to download that again on a metered connection would be annoying, but I think the bigger problem is that HELLO WORLD IS A QUARTER OF A GIGABYTE.

Collapse
 
faraazahmad profile image
Syed Faraaz Ahmad

HELLO WORLD IS A QUARTER OF A GIGABYTE

WHAT?! WHY???!!

Thread Thread
 
moopet profile image
Ben Sinclair

node_modules

Thread Thread
 
x1k profile image
Asaju Enitan

what I can't quite figure out is why don't node_modules work like python modules, just download what is needed. no more

Thread Thread
 
moopet profile image
Ben Sinclair

Partly I think the problem is that when things go wrong, the recommended solution for most problems is to delete node_modules and run setup again.
It's the old "have you tried turning it off and on again?" solution.

Collapse
 
savagepixie profile image
SavagePixie

Maybe you'd like to try pnpm, then. It's big advantage is that it only ever keeps one copy of each package in your computer. So if you're using dependencies that you already use in other projects, you don't need to download them again.

Collapse
 
shelob9 profile image
Josh Pollock

Good point. Worth trying.

I used verdaccio for awhile. It proxies npm registry with a cache.. I was able to run npx create-react-app without an internet connection. I never figured out how to avoid writing localhost urls in my lockfile though.

Thread Thread
 
x1k profile image
Asaju Enitan

maybe it could be in the docs?

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
pavelloz profile image
Paweł Kowalski

Its a shame, because npm is just as fast as yarn nowadays. ;)

Collapse
 
navicsteinr profile image
Navicstein Rotciv

good thoughts about yarn, have your tried pnpm?

Collapse
 
shelob9 profile image
Josh Pollock

Not yet. Have you?

Collapse
 
navicsteinr profile image
Navicstein Rotciv

Yeap, it's really cool only that in some vue projects it breaks HMR due to the symlink

Collapse
 
nurofsun profile image
Nurofsun

Personally, I prefer use pnpm :)

Collapse
 
moonsmile profile image
Nguyễn Minh Tuấn

I use yarn because project doesn't show bugs :V