pnpm帮我们管理monorepo了什么呢?没有理解。 pnpm是安装包到node_modules对吗?

作者站长头像
站长
· 阅读数 8

在看meathill老师的monorepo的视频时候

pnpm帮我们管理monorepo了什么呢?没有理解。 pnpm是安装包到node_modules对吗?

pnpm帮我们管理了什么呢?没有理解。pnpm是安装包到node_modules对吗?但是npm也可以啊。

回复
1个回答
avatar
test
2024-07-01

其实视频里有讲。相比于 npm,pnpm 有以下改进:

  1. 同样的包只下载一次
  2. 使用硬链将安装包放入 node_modules

所以 pnpm 速度很快,也很省硬盘。在这个前提下,pnpm 就可以放心大胆的在每个子项目目录下都安装完整的依赖,于是每个子项目都是完整的项目,开发环境与普通项目无异,几乎不会出问题。

如果你用过其它工具,比如 lerna+yarn,你就会知道,为了节省硬盘和网络,lerna 会想办法把通用依赖放在根路径,子项目专用包才安装到项目路径。此时,升级依赖就可能导致依赖错乱,经常需要彻底删掉 node_modules 和 lock 文件全新安装才能修复。

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容