npm ci
基于 lock 文件的干净安装,适合 CI/CD 环境
语法
npm ci
参数
| 参数 | 说明 | 示例 | 级别 |
|---|---|---|---|
(无参数) |
删除 node_modules 后严格按 lock 文件安装 | npm ci |
常用 |
--production |
只安装生产依赖 | npm ci --production |
常用 |
示例
CI 环境安装
npm ci
比 npm install 更快更可靠
生产环境部署
npm ci --production
不安装 devDependencies
Docker 中使用
COPY package*.json ./ RUN npm ci --production
利用 Docker 缓存层
常见错误
npm ERR! `npm ci` can only install packages when your package.json and package-lock.json are in sync
package.json 和 lock 文件不一致,先在本地运行 npm install 更新 lock 文件
npm ERR! missing: package-lock.json
需要 package-lock.json 文件,先运行 npm install 生成
技巧
- npm ci 会先删除 node_modules 再安装,确保干净环境
- 比 npm install 快 2-3 倍(跳过版本解析)
- CI/CD 流水线中应该用 npm ci 而非 npm install