Provided by: npm_6.14.4+ds-1ubuntu2_all bug

NAME

       npm-ci - Install a project with a clean slate

   Synopsis
         npm ci

   Example
       Make sure you have a package-lock and an up-to-date install:

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

       Run npm ci in that project

         $ npm ci
         added 154 packages in 5s

       Configure Travis to build using npm ci instead of npm install:

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

   Description
       This  command  is  similar  to npm help install, except it's meant to be used in automated
       environments such as test platforms, continuous integration,  and  deployment  --  or  any
       situation  where  you want to make sure you're doing a clean install of your dependencies.
       It  can  be  significantly  faster  than  a  regular  npm  install  by  skipping   certain
       user-oriented  features.  It  is  also  more strict than a regular install, which can help
       catch errors or inconsistencies caused by the incrementally-installed  local  environments
       of most npm users.

       In short, the main differences between using npm install and npm ci are:

       • The project must have an existing package-lock.json or npm-shrinkwrap.json.

       • If dependencies in the package lock do not match those in package.json, npm ci will exit
         with an error, instead of updating the package lock.

       • npm ci can only install entire projects at a time:  individual  dependencies  cannot  be
         added with this command.

       • If  a  node_modules  is  already present, it will be automatically removed before npm ci
         begins its install.

       • It will  never  write  to  package.json  or  any  of  the  package-locks:  installs  are
         essentially frozen.

   See Also
       • npm help install

       • npm help package-locks

                                            April 2020                                  NPM-CI(1)