Npm CI 保证依赖一致
Npm CI 保证依赖一致
2023-12-28|最后更新: 2023-12-28
type
status
date
slug
summary
tags
category
icon
password
Blocking
Blocked by
top
URL
Sub-item
Parent item

使用场景

  • 在有 package-lock.json 的项目,可以使用 npm ci 来替代 npm install,就可以避免不同开发环境版本不一致而出现各种奇怪问题。
  • 单独安装新依赖时,则使用 npm install

与npm install 区别

  • 使用npm install 安装依赖
    • 它将会安装 Node.js 项目所有的依赖项;
    • 如果使用 ^ 或 ~ 来匹配依赖项的版本时,则 npm 可能无法安装确切版本,会安装最新的符合条件的依赖;
    • 利用 npm install 安装新依赖项时,会更新package-lock.json
  • npm ci 安装依赖
    • package-lock.json 必须存在,严格按照package-lock.json 中指定的版本安装。
    • 自动删除 node_modules。当 npm ci 时,如果 node_modules 存在,则自动删除它,这是为了保证一个干净的 node_modules 环境,避免遗留旧版本库的副作用。
    • 不会更改项目package-lock.json
    • 无需计算求解依赖满足问题,在大多数情况下都可以大大加速 node 模块安装过程。
    • 不能单独装包。这一条很容易解释,它适用于持续集成环境中,无法单独装包,例如无法仅仅安装 lodash

在yarn与pnpm的使用

与npm ci功能相同的命令:
yarn
pnpm
 
Web安全网络模型
Loading...