One important issue that gave me a headache in the past (at least for NPM) is the reproducibility factor. You can&#x27;t reproduce an installation using NPM.<p>That&#x27;s because with NPM you can install a specific version of module A on time t0 that also installs, based on package.json, the latest version of module B. But on t1 there is a new version of module B, so the new installation of the same version of module A ends up having a different version of module B. Obviously, this problem expands dramatically when you use multiple modules with different degrees of depth.<p>Hopefully mook pointed about the mention of shrinkwrap in the article.