title: Why removing node_modules is still required to fix some npm problems?
body: <p>npm 1.0 was released in May 2011, yet with it's latest release as of today, I still often run into a lot of problematic situations that can only be solved by <a href="https://github.com/npm/npm/issues?utf8=%E2%9C%93&amp;q=remove%20node_modules" rel="nofollow noreferrer">removing node_modules</a>. Of course sometimes it is enough to reinstall some package, or rebuild another, but as of 2018, the consensus seem to be that the ultimate solution is to remove node_modules and run <code>npm install</code> again. I wonder - why is it the case? I'd imagine that most difficult bugs are already solved since the 1.0 release, does it have something to do with the design? I found that <a href="https://yarnpkg.com/lang/en/" rel="nofollow noreferrer">Yarn</a> is free from this problem.</p>