处理npm包稍微改变

时间:2017-08-21 12:33:49

标签: npm npm-install

在使用npm时,我没有遇到问题,当依赖树深处的某个包接收到次要甚至补丁更新,但实际上引入了一个重大变化。找到罪魁祸首并不总是那么容易。而且大多数情况下问题最严重,因为它经常执行干净的 npm install 。所以剩下的就是等待一两天,直到包裹作者发现并修复错误。

使用package.json中的确切版本并不会有帮助,因为引用的包具有它们自己的依赖关系,并且它们并不总是用精确版本指定。

这种突破性变化是我生活中的一个事实,因为没有人能够免于错误,并且在任何比琐碎项目更直接和间接使用的剪切数量都是巨大的。

那么,如何防止这种不可避免的突破性变化扰乱开发过程呢?

我唯一可以想象的是npm的假设功能,它只允许安装不小于now().addDays(-2)的包。

1 个答案:

答案 0 :(得分:0)

如果创建并提交到源代码控制,则package-lock.json(npm5)或npm-shrinkwrap.json(npm 2-4)将锁定所有依赖项及其依赖项,以便完全相同的版本安装。现在自动生成package-lock.json,并且可以使用npm-shrinkwrap.json命令创建npm shrinkwrap。创建这些文件后,它们将在后续的npm install --save ...命令中自动更新。