| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | .TH "NPM\-CI" "1" "August 2021" "" "".SH "NAME"\fBnpm-ci\fR \- Install a project with a clean slate.SS Synopsis.P.RS 2.nfnpm ci.fi.RE.SS Example.PMake sure you have a package\-lock and an up\-to\-date install:.P.RS 2.nf$ cd \./my/npm/project$ npm installadded 154 packages in 10s$ ls | grep package\-lock.fi.RE.PRun \fBnpm ci\fP in that project.P.RS 2.nf$ npm ciadded 154 packages in 5s.fi.RE.PConfigure Travis to build using \fBnpm ci\fP instead of \fBnpm install\fP:.P.RS 2.nf# \.travis\.ymlinstall:\- npm ci# keep the npm cache around to speed up installscache:  directories:  \- "$HOME/\.npm".fi.RE.SS Description.PThis command is similar to npm help \fBinstall\fP, except it's meant to be used inautomated environments such as test platforms, continuous integration, anddeployment \-\- or any situation where you want to make sure you're doing a cleaninstall of your dependencies\. It can be significantly faster than a regular npminstall by skipping certain user\-oriented features\. It is also more strict thana regular install, which can help catch errors or inconsistencies caused by theincrementally\-installed local environments of most npm users\..PIn short, the main differences between using \fBnpm install\fP and \fBnpm ci\fP are:.RS 0.IP \(bu 2The project \fBmust\fR have an existing \fBpackage\-lock\.json\fP or \fBnpm\-shrinkwrap\.json\fP\|\..IP \(bu 2If 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 2If a \fBnode_modules\fP is already present, it will be automatically removed before \fBnpm ci\fP begins its install\..IP \(bu 2It 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 2npm help install.IP \(bu 2npm help package\-locks.RE
 |