Install a project with a clean slate


npm ci


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
- npm ci
# keep the npm cache around to speed up installs
  - "$HOME/.npm"


This command is similar to npm-install, except it's meant to be used in automated environments such as test platforms, continuous integration, and deployment. 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.

Concretely, the main differences between an npm install call and an npm ci call are:

See Also

Last modified March 13, 2018           Found a typo? Send a pull request!

npm Services

Getting started

Private packages


Using npm

CLI commands

Configuring npm

View All On One Page