4 ms·
npm is quite possibly the worst package manager I've ever seen. It encourages unfathomably large dependency trees, using multiple versions of the same damn thi
by davexunit 11y ago
npm is quite possibly the worst package manager I've ever seen. It encourages unfathomably large dependency trees, using multiple versions of the same damn thing in the same software, duplicates things like crazy in the nasty tree structure that is the .node_modules directory, and cannot reasonably handle the full dependency tree of anything non-trivial that uses native extensions. I really don't understand what people find to like in npm. It's fundamentally broken.
- atonparker 11y agoYou seem to be out of date. npm 3 uses a flat directory structure, only nesting dependencies when there are two different versions. That misinformation aside, all package managers are agnostic about how large your dependency tree is; the large trees are purely a consequence (or choice, depending on your outlook) of the community. Could you imagine a package manager telling you you're using too many or too few dependencies? If you want fewer dependencies, use fewer dependencies. npm won't get in your way. Speaking of the community, it is primarily what people like about node and npm. Sure, there are lots of bad packages. That's a side effect of javascript being the lingua franca of the web. Everyone and their grandmother is writing npm packages, so of course there are going to be a lot of bad ones. _But there are also a lot of good ones._ npm has driven web development forward at such a fast pace, I wonder how anyone can't appreciate what it's done. Finally, some stats: ~230,000 packages, ~3,300,000,000 package downloads last month. That is a lot of users for something fundamentally broken. I can only wish to work on such "broken" software.
- brianmurphy 11y agoI agree npm criticisms are more about the way packages are bundled than the manager itself. To your last point, the javascript ecosystem can have a lot of users and be "broken" at the same time. I think that is a large reason why people hop around to new libraries so much. "Well what I have now sucks, maybe this new thing will work better. (2 days pass) Nope! What else do you have for me this week?"
- davexunit 11y agoArgument ad populum.