npm ci

🌙
手机阅读
本文目录结构

npm ci 功能

使用干净的面板安装项目,一般用于持续集成;

npm ci 使用

  1. npm ci

例子

确保您具有软件包锁定和最新安装:

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

npm ci 在该项目中运行

  1. $ npm ci
  2. added 154 packages in 5s

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

  1. # .travis.yml
  2. install:
  3. - npm ci
  4. # keep the npm cache around to speed up installs
  5. cache:
  6. directories:
  7. - "$HOME/.npm"

npm ci 说明

该命令与相似 npm-install,不同之处在于它用于自动化环境(例如测试平台,持续集成和部署),或者在任何情况下都要确保干净安装依赖项。

通过跳过某些面向用户的功能,它可以比常规的 npm 安装快得多。

它比常规安装更严格,可以帮助捕获大多数 npm 用户增量安装的本地环境引起的错误或不一致。

下面是一个对比图

https://a.axihe.com/img/api-npm/mintty_pf59SOh2o2.png

npm install 和 npm ci 区别

npm installnpm ci 之间的主要区别是

  • 该项目必须具有现有的 package-lock.jsonnpm-shrinkwrap.json
  • 如果程序包锁中的依赖项与 package.json 中的不匹配,npm ci 则将退出并显示错误,而不是更新程序包锁。
  • npm ci 一次只能安装整个项目:不能使用此命令添加单个依赖项。
  • 如果 node_modules 已经存在,它将在 npm ci 开始安装之前自动删除。
  • 它永远不会写入 package.json 或执行任何软件包锁:安装实际上是冻结的。

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了