DEV Community

Discussion on: Why I Use Yarn, Not npm

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?