404

[ Avaa Bypassed ]




Upload:

Command:

botdev@3.12.149.200: ~ $
---
section: cli-commands 
title: npm-ci
description: Install a project with a clean slate
---

# npm-ci(1)

## Install a project with a clean slate

### Synopsis
```bash
npm ci
```

### Example

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

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

Run `npm ci` in that project

```bash
$ npm ci
added 154 packages in 5s
```

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

```bash
# .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 install`](/cli-commands/npm-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 install](/cli-commands/npm-install)
* [package-locks](/configuring-npm/package-locks)

Filemanager

Name Type Size Permission Actions
npm-access.md File 2.87 KB 0644
npm-adduser.md File 2.93 KB 0644
npm-audit.md File 4.08 KB 0644
npm-bin.md File 452 B 0644
npm-bugs.md File 1.08 KB 0644
npm-build.md File 645 B 0644
npm-bundle.md File 416 B 0644
npm-cache.md File 2.73 KB 0644
npm-ci.md File 1.92 KB 0644
npm-completion.md File 936 B 0644
npm-config.md File 1.62 KB 0644
npm-dedupe.md File 1.44 KB 0644
npm-deprecate.md File 953 B 0644
npm-dist-tag.md File 2.95 KB 0644
npm-docs.md File 1.14 KB 0644
npm-doctor.md File 4.65 KB 0644
npm-edit.md File 1.07 KB 0644
npm-explore.md File 1.04 KB 0644
npm-fund.md File 1.59 KB 0644
npm-help-search.md File 910 B 0644
npm-help.md File 989 B 0644
npm-hook.md File 1.88 KB 0644
npm-init.md File 2.17 KB 0644
npm-install-ci-test.md File 438 B 0644
npm-install-test.md File 832 B 0644
npm-install.md File 19.03 KB 0644
npm-link.md File 2.75 KB 0644
npm-logout.md File 1.28 KB 0644
npm-ls.md File 2.57 KB 0644
npm-org.md File 1.01 KB 0644
npm-outdated.md File 3.86 KB 0644
npm-owner.md File 1.22 KB 0644
npm-pack.md File 1.01 KB 0644
npm-ping.md File 519 B 0644
npm-prefix.md File 678 B 0644
npm-profile.md File 2.89 KB 0644
npm-prune.md File 1.38 KB 0644
npm-publish.md File 3.12 KB 0644
npm-rebuild.md File 495 B 0644
npm-repo.md File 774 B 0644
npm-restart.md File 962 B 0644
npm-root.md File 438 B 0644
npm-run-script.md File 3.49 KB 0644
npm-search.md File 2.85 KB 0644
npm-shrinkwrap.md File 1004 B 0644
npm-star.md File 591 B 0644
npm-stars.md File 614 B 0644
npm-start.md File 798 B 0644
npm-stop.md File 452 B 0644
npm-team.md File 2.2 KB 0644
npm-test.md File 469 B 0644
npm-token.md File 2.8 KB 0644
npm-uninstall.md File 1.53 KB 0644
npm-unpublish.md File 1.45 KB 0644
npm-update.md File 3.39 KB 0644
npm-version.md File 4.47 KB 0644
npm-view.md File 3.19 KB 0644
npm-whoami.md File 385 B 0644
npm.md File 5.31 KB 0644