Sara Chipps started this awesome thread about bundler vs. npm. You should check it out cause it's highly entertaining. https://twitter.com/SaraJChipps/status/484727602049859584
But I do want to get more info on the workflow problems people experience with npm. It has always been the simplest thing to me. But I'm also fully aware that perceptions are relative. Most ruby folks are totally fine with bundler even though it gives me constant headaches. But the bundler issues are well documented. This seems to be less true for npm. I want to gather some info about people's experiences. I promise I'll try to refrain from the canned "you're doing it wrong" response.
Also, we've already established that npm is network hungry and could do a better job of maintaining an offline cache. https://twitter.com/ag_dubs/status/484733343108706305 Nobody's arguing that. But I'm less concerned about feature requests here. I'm interested in where npm breaks for you.
Here's Ryan Florence. https://twitter.com/ryanflorence/status/484730296156176385
`rm -rf node_modules && npm cache clean && npm install && npm dedupe` feels almost as reassuring as just `bundle install`
I want to hear about the step before this where something's wrong and a simple npm install
doesn't fix it. Messing around with the cache suggests there's something very strange in people's workflows. And messing around with dedupe suggests that the dependency tree that people are trying to achieve is very different from mine. Trashing your whole node_modules folder shouldn't be required. But it's usually an easier step than trying to debug whatever weird state you got yourself into. I believe this is because npm installs don't usually fail and you can just refresh your whole dep tree fairly easily (network permitting).
But these are just my own perceptions. So lets hear it. Why do you hate npm?
I have occasionally needed to clean my cache, but it was almost always from connectivity or proxy issues. The main thing that I have been fighting is the scenario where you want to bundle a dependency and check it in to git. A lot of devs put
node_modules
in their.gitignore
and check that in, so if you bundle and that happens, the package can be incomplete (which isn't npm's fault at all, npm just doesn't recursively check already installed dependencies onnpm install
). I could be wrong, but i thought I had read that it was being worked on to recursively check dependencies...