使用“ npm ci”代替“ npm install”进行确定性的项目设置

时间:2018-11-25 15:31:37

标签: javascript npm npm-ci

给出一个在源代码管理中管理package-lock.json的项目,目标是团队中的所有开发人员都具有完全相同的依赖关系。

从npm的文档中,我认为开发人员应该使用npm ci来设置他们的开发环境,并且可能以后还要在更新依赖项时使用。

不过,我在典型的npm项目中看到的指示仍然是使用npm install

开发人员是否应该使用npm install而不是npm cinpm ci在这种情况下是否有缺点?

我知道npm ci确实删除了整个node_modules,因此有可能重新下载一些已经存在的依赖项。

但是在使用npm install的情况下,我经常会遇到npm install实际上正在更改package-lock.json(请参见下面的链接)的情况,这绝对不是传统项目设置所期望的,主要目标是所有开发人员都拥有相同的环境。
因此,我建议使用npm ci

npm install的“意外”行为的示例:

0 个答案:

没有答案