1.更新速度
npm < yarn < pnpm
npm:需要遍历所有的项目依赖关系,然后生成扁平的node_modules目录结构
yarn:可并行化处理必须的操作
pnpm:利用硬链接和符号链接来避免复制所有本地缓存源文件
2.工作原理
npm: install 命令时,首先遍历所有的项目依赖关系,然后生成扁平的node_modules目录结构。
首次需要从互联网上下载内容,之后可缓存在本地(npm cache ls可查看),下次安装时可减少时间消耗,但不可以离线安装。
yarn:可并行化处理必须的操作,可以缓存在本地,且可以离线安装,允许合并项目中使用的所有包的许可证。
pnpm:利用硬链接和符号链接来避免复制所有本地缓存源文件
3.优缺点:
npm:安装是非确定性的,程序包没有签名,并且npm除了做了基本的SHA1哈希之外不执行任何完整性检查,这给安装系统程序带来了安全风险。默认安装主版本号开头的最新版本,无法确定使用固定版本
yarn:将生成yarn.lock文件,除了常规信息之外,yarn.lock文件还包含要安装的内容的校验以确保使用的库的版本相同