npm-ci

安装一个干净的项目

概要

npm ci

示例

确保你有一个包锁和一个最新的安装:

$ cd ./my/npm/project
$ npm install
added 154 packages in 10s
$ ls | grep package-lock

在该项目中运行 npm ci

$ npm ci
added 154 packages in 5s

将 Travis 配置为使用 npm ci 而不是 npm install 构建:

# .travis.yml
install:
- npm ci
# keep the npm cache around to speed up installs
cache:
directories:
- "$HOME/.npm"

描述

此命令与 npm install 类似,不同之处在于它旨在用于自动化环境,例如测试平台、持续集成和部署 - 或任何你希望确保对依赖进行全新安装的情况。 通过跳过某些面向用户的功能,它可以比常规的 npm 安装快得多。 它也比常规安装更严格,可以帮助捕获大多数 npm 用户增量安装的本地环境导致的错误或不一致。

简而言之,使用 npm installnpm ci 的主要区别在于:

  • 项目 must 有一个现有的 package-lock.jsonnpm-shrinkwrap.json
  • 如果包锁中的依赖与 package.json 中的依赖不匹配,npm ci 将退出并出错,而不是更新包锁。
  • npm ci 一次只能安装整个项目: 不能使用此命令添加单个依赖。
  • 如果 node_modules 已经存在,它将在 npm ci 开始安装之前自动删除。
  • 它永远不会写入 package.json 或任何包锁: 安装基本上被冻结了。

也可以看看

npm 中文网 - 粤ICP备13048890号