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)