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 | 在开发过程中,在拉取更新依赖列表的修改后使用。 | 用于确定性的、可重复的构建。 |
极客教程