npm ci 与 npm install 类似,主要用于 CI、CD 等自动化环境中,来确保每次安装的依赖项都是相同的。
npm ci 依赖于 package-lock.json 或 npm-shrinkwrap.json,安装之前会删除 node_modules 文件夹(如果存在),若 package-lock.json 中的依赖与 package.json 不一致 npm ci 将会报错退出。
与 npm install 区别
处理 package-lock.json
运行 npm ci 必需要 package-lock.json 或 npm-shrinkwrap.json,且不会更新锁文件。在安装时会完全按照 lock 文件版本,若与 package.json 中的版本不匹配则报错。
删除 node_modules
npm ci 开始安装之前会移除 node_modules(若存在)
安装依赖
npm ci 只能一次安装整个项目,不支持安装单个依赖。如果你的 package-lock.json 是使用 --legacy-peer-deps 或其他影响依赖结构的,在 ci 时也需要加上。
























