包管理npm、yarn、pnpm区别

npm

npm 是Node.js标准的软件包管理器,随同 node.js 一起安装。
存在的不足:

1.npm install 下载速度慢

2.同一个项目,安装的无法保持一致性。原因是因为 package.json 文件中版本号的特点导致在安装的时候代表不同的含义,^是npm安装后的默认符号。

在这里插入图片描述

3.使用 npm 安装多个 js 包时,包会在同一时间下载和安装。安装过程中,其中一个包抛出了一个异常,但 npm 会继续安装其他包,所以错误信息就会在一大堆提示信息中丢失掉,以至于直到执行前,都不会发现实际发生的错误

Yarn

yarn 是为了弥补 npm 的一些缺陷而出现的,是由 Facebook、Google、Exponent 和 Tilde 联合推出的一个新的 JS 包管理工具。

npm和yarn的区别

1、并行安装:yarn安装包会同时执行多个任务,npm 需等待上一个任务安装完成才能运行下一个任务。

2、离线模式:如果你已经安装过一个包,用 yarn 再次安装会从缓存中获取,而 npm 会从网络下载。

3、版本锁定:yarn 默认有一个 yarn.lock 文件锁定版本,在使用npm或yarn安装之前会先检查lock文件上的版本,并来安装它们,保证环境统一,而 npm 默认从网络下载最新的最稳定的,版本锁定可以解决包之间版本不兼容问题,npm 也可以通过命令实现版本锁定。

4、更简洁的输出:yarn 安装包时输出的信息较少,npm 输出信息冗余。
在这里插入图片描述

pnpm

pnpm(performant npm) ,意味“高性能的 npm”。pnpm由npm/yarn衍生而来,解决了npm/yarn内部潜在的bug,极大的优化了性能,扩展了使用场景。被誉为“最先进的包管理工具”。
优势:

  • 包安装速度快。pnpm 不仅比 npm 快,而且比 yarn 快。无论是冷缓存还是热缓存,它都比 yarn 快。yarn 从缓存中复制文件,而 pnpm 只是从全局存储中链接它们。
  • 磁盘空间利用高效。所有文件都会存储在硬盘上的某一位置。 当软件包被被安装时,包里的文件会硬链接到这一位置,而不会占用额外的磁盘空间。

猜你喜欢

转载自blog.csdn.net/weixin_43288600/article/details/121304220