安装 调研下换pnpm的优势、可行性及成本
项目初衷
- 节省磁盘空间
- 提高安装速度
- 创建一个非扁平的 node_modules 目录
目前的多数项目的状态(以公司目前的某个活动后台为例 )
- npm+ node 11安装的包可以正常运行
- npm+ node 14安装的包
- node-sass@4.12.0 版本的安装出错
- 不能正常启动,提示是nodesass的版本问题
- pnpm + node 14安装的包,启动的时候,提示各种依赖缺失
- cache-loader/ts-loader/babel-loader
- 我觉得是安装抛错,导致的,简而言之就是node版本问题
兼容性问题
- 只研究到了 pnpm5 版本,均不支持node 12以下,而我们目前所有的老项目基本都是 node 10.13.0以下的项目
- 如果我们要升级node版本涉及到很多方面
- 依赖包相关问题处理(无法估计具体时长,高版本node启动的下载有很多兼容性错误,需要一个个处理)
- 升级成功之后(使用npm能正常下载依赖包和运行),需要使用pnpm下载依赖包,再看会不会有新的问题(涉及到能不能把关联包全都下载下来)
- 然后升级完node之后,也许会涉及到测试和生产的发布问题
pnpm的优势
- 节省磁盘空间
- 提高安装速度
- 创建一个非扁平的 node_modules 目录
可行性
- 升级node版本,目前来说是看不到不可行的地方,是可以
- 重点是在 pnpm 下载依赖包会不会缺少关联
- 以上都没有问题的话,需要运维协同一起处理测试和线上的node版本问题和持续集成问题,即可成功
成本
即兼容性模块中所提到的涉及问题处理