给出一个在源代码管理中管理package-lock.json
的项目,目标是团队中的所有开发人员都具有完全相同的依赖关系。
从npm的文档中,我认为开发人员应该使用npm ci
来设置他们的开发环境,并且可能以后还要在更新依赖项时使用。
不过,我在典型的npm项目中看到的指示仍然是使用npm install
。
开发人员是否应该使用npm install
而不是npm ci
? npm ci
在这种情况下是否有缺点?
我知道npm ci
确实删除了整个node_modules
,因此有可能重新下载一些已经存在的依赖项。
但是在使用npm install
的情况下,我经常会遇到npm install
实际上正在更改package-lock.json
(请参见下面的链接)的情况,这绝对不是传统项目设置所期望的,主要目标是所有开发人员都拥有相同的环境。
因此,我建议使用npm ci
。
npm install
的“意外”行为的示例: