pnpm 有什么坑吗
今天刚发现 pnpm, 适用一下感觉很惊艳啊
有用过的老铁踩过坑么 :sweatsmile:
速度上比yarn稍快一点,pnpm装包用的是文件硬链接,所有包都有单份的特定版本的存档,安装时用链接。pnpx(代替npx)的速度可能稍慢一些。最大的好处在于解决了幽灵依赖的问题,yarn和npm后期版本(貌似是v5以后,记得不是很清楚了)的node_modules文件夹底下的依赖是拍平的,如果A依赖B,B依赖C,A事实 上可以导入C,但这会在复杂生产环境出现问题也会影响打包器;并且版本管理不善总是有peerDependencies的各种问题。pnpm的node_modules以包为单位,包的依赖包只有相应包可以访问,不存在幽灵依赖问题,其次pnpm有利于同库的不同版本在不同库的依赖下共存。这都是对比yarn和pnpm的优势,劣势是社区还不大,特别是国内用的少,有问题只能找github issue比较麻烦。还有一些偶然的奇怪bug,不过生产环境已经非常可用了,其workspace(类似yarn v1和npm v7)可以很方便的建立monorepo,配合turbo或者nx很是方便。
反正用看看才知道,没什么损失,即使换了包管理器也只是根据package.json重装一遍依赖而已