npm ci vs. npm install — 在 Node.js 项目中你需要使用哪个?

栏目: Node.js · 发布时间: 1年前

来源: juejin.im

内容简介:翻译npm 是Node.js 项目默认的包管理器。使用 npm 可以轻松安装和更新依赖项。npmjs 上列出了可以使用的依赖项(例如Vue.js 框架),甚至还显示了可以复制并粘贴到终端的安装命令,如

本文转载自:https://juejin.im/post/5d1c14e6e51d4555fc1acd01,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有。

翻译 medium.com/better-prog…

npm 是Node.js 项目默认的包管理器。

使用 npm 可以轻松安装和更新依赖项。npmjs 上列出了可以使用的依赖项(例如Vue.js 框架),甚至还显示了可以复制并粘贴到终端的安装命令,如 npm i vue

如果你已经使用 npm 一段时间了,那么你将常用 npm install(或更短的 npm i)来安装或更新依赖项。

虽然这个安装命令仍然有效,但是在 npm v6 中还是引入了一个新的命令 - npm ci ,那么它是用来 做什么的 ?与 npm i 又有 什么差异

. . .

npm install (简写: npm i)

npm install ,或者 npm i ,通常是用来安装依赖项:

  • 它将会安装 Node.js 项目所有的依赖项;
  • 如果使用 ^~ 来匹配依赖项的版本时,则 npm 可能无法安装确切版本;
  • 利用 npm install 安装新依赖项时,会更新 package-lock.json。

. . .

npm ci

使用 npm ci ,会发生:

  • 将会删除项目中的 node_modules 文件夹;
  • 会依照项目中的 package.json 来安装确切版本的依赖项;
  • 不像 npm installnpm ci 不会修改你的 package-lock.json 。但是它确实期望你的项目中有一个 package-lock.json 文件 - 如果你没有这个文件, npm ci 将不起作用,此时必须使用 npm install

如果你使用 npm ci ,你将获得 可靠 的构建。特别是当您在 Jenkins 或 GitLab CI 等 持续集成工具 中运行时,这将非常有用。

. . .

npm ci vs. npm Install — 该用哪一个?

如果你使用 npm v6+:

npm ci

如果你使用 npm v5 或者更低的版本:

  • 只能通过 npm install 来安装或者更新依赖项;
  • 尝试升级到最新的 npm 版本。除了 npm ci 之外,它还具有 npm audit 命令,可以更轻松地识别和修复依赖项的安全漏洞。此外,使用 npm v6 安装依赖项应该更快。

. . .

总结

如您所见,这两个命令都有其适用地场景。如果可能的话,我建议使用 npm ci ,因为它可靠地完成它的工作,并使用 npm install 来安装新的依赖项或更新现有的依赖项。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

关注码农网公众号

关注我们,获取更多IT资讯^_^


查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

金字塔原理

金字塔原理

[美] 巴巴拉·明托 / 王德忠、张珣 / 民主与建设出版社 / 2002-12 / 39.80元

《金字塔原理》是一本讲解写作逻辑与思维逻辑的读物,全书分为四个部分。 第一篇主要对金字塔原理的概念进行了解释,介绍了如何利用这一原理构建基本的金字塔结构。目的是使读者理解和运用简单文书的写作技巧。 第二篇介绍了如何深入细致地把握思维的环节,以保证使用的语句能够真实地反映希望表达的思想要点。书中列举了许多实例,突出了强迫自己进行“冷静思维”对明确表达思想的重要性。 第三篇主要针对的......一起来看看 《金字塔原理》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具