其他分享
首页 > 其他分享> > npm、yarn、pnpm区别

npm、yarn、pnpm区别

作者:互联网

npm

https://www.npmjs.com/

npm 是 Node Package Manager 的缩写,是一个 NodeJS 包管理和分发工具,我们可以使用它发布、安装和卸载 NodeJS 包。npm 是 JavaScript 运行时环境 Node.js 的默认包管理器。

yarn

https://yarnpkg.com/

yarn 是 facebook 等公司在 npm v3 时推出的一个新的开源的 Node Package Manager,它的出现是为了弥补 npm 当时安装速度慢、依赖包版本不一致等问题。

yarn 有以下优点:

 

pnpm

https://pnpm.io/

2017 年 pnpm 推出。全称 Performance NPM,即高性能的 npm。相比较于 yarn,pnpm 在性能上又有了极大的提升。

pnpm 的出现解决了 npm、yarn 重复文件过多、复用率低等问题。我们知道,不管是 npm 还是 yarn,它们的安装方法都是将项目依赖包的原封不动的从服务器上下载到本地,写入到 node_modules 文件夹,而每个 package 又都有自己的 node_modules,所以当一个 package 在不同的依赖项中需要时,它会被多次复制粘贴并生成多份文件,形成一个很深的依赖树。

另外,如果同一个 package 在我们本地的多个项目中使用,每次安装的时候它都会被重新下载一次。比如我们本地有 100 个项目,都依赖 lodash,那么使用 npm 或 yarn 进行安装, lodash 很可能就被下载、安装了 100 次,也就是说我们的磁盘中有 100 个地方写入了 lodash 的代码,这种方式是极其低效的。

pnpm 内部使用基于内容寻址的文件系统来存储磁盘上所有的文件,这个文件系统出色的地方在于:

同一个包 pnpm 只会安装一次,磁盘中只有一个地方写入,后面再次使用都会直接使 hardlink。即使一个包的不同版本,pnpm 也会极大程度地复用之前版本的代码。举个例子,比如 lodash 有 100 个文件,更新版本之后多了一个文件,那么磁盘当中并不会重新写入 101 个文件,而是保留原来的 100 个文件的 hardlink,仅仅写入那一个新增的文件。

npm yarn 和 pnpm 之间命令的区别

-npmyarnpnpm
Install all npm install yarn pnpm install
Install npm install [package] yarn add [package] pnpm add [package]
  npm install [package] -D yarn add [package] -D pnpm add -D [package]
  npm install [package] -g yarn global add [package] pnpm add -g [package]
Uninstall npm uninstall [package] yarn remove [package] pnpm remove [package]
Update npm update [package] yarn upgrade [package] pnpm update [package]



       

链接:https://www.jianshu.com/p/e02ffa9effe6

标签:npm,package,yarn,add,pnpm,安装
来源: https://www.cnblogs.com/ygyy/p/16194640.html