Why developers should use npm ci instead of npm install and its benefits
As a developer, you may already be familiar with using npm install to install dependencies for your Node.js projects. However, there's another command you should consider using: npm ci . In this article, we'll explain why developers should use npm ci instead of npm install and its benefits.
What is npm ci ?
Oficial docs: https://docs.npmjs.com/cli/v9/commands/npm-ci
npm ci is a command that stands for "clean install." Unlike npm install , which can install packages from the node_modules cache, npm ci installs packages from the package-lock.json file. This means that npm ci always installs a project with a clean slate, ensuring that you have the exact dependencies and versions listed in the package-lock.json file.
Why use npm ci ?
Here are a few reasons why developers should use npm ci instead of npm install :
Consistency:
npm ciensures that all developers working on a project have the same exact dependencies and versions installed. This helps to eliminate inconsistencies in the development environment, making it easier to reproduce and debug issues.Speed: Since
npm cialways installs packages from thepackage-lock.jsonfile, it doesn't need to check thenode_modulescache. This means thatnpm cican be much faster thannpm install, especially for large projects with many dependencies.Predictability:
npm ciinstalls packages exactly as they are listed in thepackage-lock.jsonfile, without any additional updates or modifications. This ensures that you always have a predictable and stable development environment, without unexpected changes in dependency versions.Automation:
npm ciis designed to be used in automated environments such as continuous integration and deployment pipelines. By usingnpm ci, you can ensure that your project is always built with a consistent and predictable set of dependencies, regardless of the environment.
How to use npm ci ?
To use npm ci , simply run the following command in your project directory:
npm ciThis will install all of the dependencies listed in the package-lock.json file, ensuring a clean and consistent installation.
Conclusion
In conclusion, npm ci is a command that developers should consider using instead of npm install for their Node.js projects. It provides consistency, speed, predictability, and automation benefits, making it a valuable tool for any development team. So, if you haven't already, give npm ci a try and see how it can improve your workflow.
More info here.

