给定一个在源代码控制中管理的项目,package-lock.json
目标是团队中的所有开发人员都获得完全相同的依赖项。
从 npm 的文档中,我认为开发人员应该使用它npm ci
来设置他们的开发环境,并且可能在以后更新依赖项时也应该使用它。
但是我在典型的 npm 项目中看到的说明仍然可以使用npm install
。
npm install
开发人员应该使用而不是有理由npm ci
吗?npm ci
在这种情况下有缺点吗?
我知道这npm ci
确实会删除整个node_modules
内容,因此可能会重新下载一些已经存在的依赖项。
但是npm install
我经常遇到这样的情况,即 annpm install
实际上正在更改package-lock.json
(请参阅下面的链接),这绝对不是传统项目设置中所期望的,其主要目标是所有开发人员都获得相同的环境。
因此,我想推荐使用npm ci
.
“意外”行为的示例npm install
: