npm ci 与 install 的区别
- npm ci 要求必需有
package-lock.json
或 npm-shrinkwrap.json
文件存在
- 如果 lock 与
package.json
中版本不匹配, npm ci 直接报错中断,而不是更新 lock 文件
- npm ci 不能用来安装单个依赖,只能用来安装整个项目的依赖
- npm ci 会检测如果
node_modules
已经存在,则先删除再进行安装操作
- npm ci 会安装
dependencies
和 devDependencies,
- 和 npm install 一样,生产环境下,即通过
-—production
或通过 NODE_ENV
配置,则只会安装 dependencies
- 不会更新
package.json
或 package-lock.json
文件,整个安装过程是锁死的
- 缓存
npm ci --cache .npm
- npm ci 时建议加上
--quiet --no-progress
关闭进度和其他无用 log,否则产生的日志会很大。
- 所以 ci 时推荐完整的命令为
npm ci --cache .npm --quiet --no-progress
相关资源