PATH:
usr
/
local
/
lib
/
node_modules
/
npm
/
man
/
man1
.TH "NPM\-CI" "1" "December 2019" "" "" .SH "NAME" \fBnpm-ci\fR \- Install a project with a clean slate .SS Synopsis .P .RS 2 .nf npm ci .fi .RE .SS Example .P Make sure you have a package\-lock and an up\-to\-date install: .P .RS 2 .nf $ cd \./my/npm/project $ npm install added 154 packages in 10s $ ls | grep package\-lock .fi .RE .P Run \fBnpm ci\fP in that project .P .RS 2 .nf $ npm ci added 154 packages in 5s .fi .RE .P Configure Travis to build using \fBnpm ci\fP instead of \fBnpm install\fP: .P .RS 2 .nf # \.travis\.yml install: \- npm ci # keep the npm cache around to speed up installs cache: directories: \- "$HOME/\.npm" .fi .RE .SS Description .P This command is similar to npm help \fBinstall\fP, 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\. .P In short, the main differences between using \fBnpm install\fP and \fBnpm ci\fP are: .RS 0 .IP \(bu 2 The project \fBmust\fR have an existing \fBpackage\-lock\.json\fP or \fBnpm\-shrinkwrap\.json\fP\|\. .IP \(bu 2 If dependencies in the package lock do not match those in \fBpackage\.json\fP, \fBnpm ci\fP will exit with an error, instead of updating the package lock\. .IP \(bu 2 \fBnpm ci\fP can only install entire projects at a time: individual dependencies cannot be added with this command\. .IP \(bu 2 If a \fBnode_modules\fP is already present, it will be automatically removed before \fBnpm ci\fP begins its install\. .IP \(bu 2 It will never write to \fBpackage\.json\fP or any of the package\-locks: installs are essentially frozen\. .RE .SS See Also .RS 0 .IP \(bu 2 npm help install .IP \(bu 2 npm help package\-locks .RE
[-] npm-restart.1
[edit]
[-] npm-publish.1
[edit]
[-] npm.1
[edit]
[-] npm-org.1
[edit]
[-] npm-ci.1
[edit]
[-] npm-token.1
[edit]
[-] npm-test.1
[edit]
[-] npm-completion.1
[edit]
[-] npm-install.1
[edit]
[-] npm-rebuild.1
[edit]
[-] npm-deprecate.1
[edit]
[-] npm-update.1
[edit]
[+]
..
[-] npm-doctor.1
[edit]
[-] npm-help.1
[edit]
[-] npm-start.1
[edit]
[-] npm-bugs.1
[edit]
[-] npm-fund.1
[edit]
[-] npm-stars.1
[edit]
[-] npm-version.1
[edit]
[-] npm-ls.1
[edit]
[-] npm-repo.1
[edit]
[-] npm-hook.1
[edit]
[-] npm-dist-tag.1
[edit]
[-] npm-bin.1
[edit]
[-] npm-explore.1
[edit]
[-] npm-star.1
[edit]
[-] npm-bundle.1
[edit]
[-] npm-search.1
[edit]
[-] npm-build.1
[edit]
[-] npx.1
[edit]
[-] npm-unpublish.1
[edit]
[-] npm-shrinkwrap.1
[edit]
[-] npm-config.1
[edit]
[-] npm-owner.1
[edit]
[-] npm-uninstall.1
[edit]
[-] npm-link.1
[edit]
[-] npm-access.1
[edit]
[-] npm-docs.1
[edit]
[-] npm-README.1
[edit]
[-] npm-audit.1
[edit]
[-] npm-install-test.1
[edit]
[-] npm-whoami.1
[edit]
[-] npm-init.1
[edit]
[-] npm-adduser.1
[edit]
[-] npm-team.1
[edit]
[-] npm-run-script.1
[edit]
[-] npm-prune.1
[edit]
[-] npm-install-ci-test.1
[edit]
[-] npm-help-search.1
[edit]
[-] npm-cache.1
[edit]
[-] npm-profile.1
[edit]
[-] npm-root.1
[edit]
[-] npm-stop.1
[edit]
[-] npm-outdated.1
[edit]
[-] npm-ping.1
[edit]
[-] npm-pack.1
[edit]
[-] npm-edit.1
[edit]
[-] npm-logout.1
[edit]
[-] npm-view.1
[edit]
[-] npm-dedupe.1
[edit]
[-] npm-prefix.1
[edit]