npm-ci
安装一个干净的项目概要
npm ci
示例
确保你有一个包锁和一个最新的安装:
$ cd ./my/npm/project$ npm installadded 154 packages in 10s$ ls | grep package-lock
在该项目中运行 npm ci
$ npm ciadded 154 packages in 5s
将 Travis 配置为使用 npm ci
而不是 npm install
构建:
# .travis.ymlinstall:- npm ci# keep the npm cache around to speed up installscache:directories:- "$HOME/.npm"
描述
此命令与 npm install
类似,不同之处在于它旨在用于自动化环境,例如测试平台、持续集成和部署 - 或任何你希望确保对依赖进行全新安装的情况。 通过跳过某些面向用户的功能,它可以比常规的 npm 安装快得多。 它也比常规安装更严格,可以帮助捕获大多数 npm 用户增量安装的本地环境导致的错误或不一致。
简而言之,使用 npm install
和 npm ci
的主要区别在于:
- 项目 must 有一个现有的
package-lock.json
或npm-shrinkwrap.json
。 - 如果包锁中的依赖与
package.json
中的依赖不匹配,npm ci
将退出并出错,而不是更新包锁。 npm ci
一次只能安装整个项目: 不能使用此命令添加单个依赖。- 如果
node_modules
已经存在,它将在npm ci
开始安装之前自动删除。 - 它永远不会写入
package.json
或任何包锁: 安装基本上被冻结了。
也可以看看
npm 中文网 - 粤ICP备13048890号