阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      npm ci

      npm ci 功能

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

      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 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 或执行任何软件包锁:安装实际上是冻结的。
      目录
      目录