Node.js中npm i和npm ci的区别
下面的区别涵盖了 npm i
和 npm ci
命令的不同之处以及它们的功能。 npm
是节点包管理器,用于管理应用程序所需的模块。
npm i
npm i
(或npm install)用于安装 package.json
文件中的所有依赖项或devDependencies。
语法:
npm install "package-name"// 或者
npm i "package-name"
npm ci
CI代表清洁安装, npm ci
用于安装 package-lock.json
文件中的所有精确版本的依赖或devDependencies。
语法 –
npm ci
npm i和npm ci之间的区别是 :
编号 | npm i | npm ci |
---|---|---|
1 | npm i 安装一个软件包及其所有依赖项。 |
npm ci 通常被用来安装依赖关系。 |
2 | npm i 可以写入package.json或package-lock.json。 |
npm ci 从不向package.json或package-lock.json写东西。 |
3 | 可以用这个命令添加单个依赖项。 | 不能用此命令添加个别的依赖关系。 |
4 | 执行速度较慢。 | npm ci 的执行速度更快。 |
5 | 如果任何依赖项不在package-lock.json中,该命令将添加它。 | 如果有任何依赖项缺失或版本不兼容,那么npm ci将抛出一个错误。 |
6 | 如果一个node_modules已经存在,本命令不会对它做任何改变。 | 如果node_modules已经存在,它将在npm ci开始安装之前被自动删除。 |
7 | npm i 可以安装全局软件包。 |
npm ci 不能安装全局软件包。 |
8 | npm i package-name 用于写入package.json以添加或更新依赖关系。 |
npm ci 不能用来写到package.json。 |
9 | npm i 可以写到 package-lock.json 来锁定一些依赖的版本。 |
npm ci 不能写到package-lock.json。 |
10 | 在开发过程中,在拉取更新依赖列表的修改后使用。 | 用于确定性的、可重复的构建。 |