包管理器npm-yarn-pnpm的区别

这篇博客对比了npm、yarn和pnpm这三种Node.js包管理器的目录结构、确定性、依赖管理和性能特点。npm的目录结构从树形到扁平化,存在版本不确定性和依赖提升问题;yarn引入了版本校验和离线安装,但仍有依赖提升问题;pnpm采用软链接实现快速安装和卸载,解决了间接依赖和重复安装的问题,同时具备离线功能和确定性。对于大型项目和monorepo管理,pnpm可能是更好的选择。
摘要由CSDN通过智能技术生成

纯属个人理解,如有错误或者批露欢迎指出!

npm

目录结构:从纵向的树结构到扁平化结构改进
不确定性:版本号区间问题导致不同电脑下载的依赖版本可能不同,不确定性有可能导致,我的电脑没问题这样的问题出现。其后提供了对应的参数解决该问题,并使用了lock文件。
间接依赖问题。
依赖提升问题。

yarn

目录结构:扁平化
确定性:加了版本校验,确保版本不会出问题,同npm使用了lock文件。
加了离线安装的功能。npm提出后一直都没实现该功能。
同npm一样有依赖提升的问题。

pnpm

目录结构:树形结构,同package里面的依赖。node_module使用的是软链接。使得安装和卸载都提升了几个档次。解决了npm每次安装都要从缓存目录copy文件到node_module导致安装时间长的问题。
无间接依赖。
安装包只会安装一次,之后使用链接。
更新包类似git提交的操作,只能更新变化的部分。
继承了yarn的所有优点。离线功能和确定性校验。
配合monorepo使用管理多项目。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值