yarn和npm都是JavaScript包管理器,它们之间的主要区别包括:
-
性能和速度:由于使用了并行下载和缓存等优化策略,yarn通常比npm更快速。
-
并行安装:yarn可以同时执行多个任务,而npm需要等待上一个任务安装完成才能运行下一个任务。
-
离线模式:如果你已经安装过某个包,用yarn再次安装可以从缓存中获取,而npm需要从网络重新下载。
-
版本锁定:yarn默认有一个yarn.lock文件来锁定版本,保证环境统一;而npm默认从网络下载最新的稳定版,但是可以通过命令实现版本锁定。
-
更简洁的输出:yarn安装包时输出的信息较少,而npm输出的信息相对较多。
-
yam由Facebook、Google、Exponent 和 Tilde联合推出,目的是为了弥补npm的一些缺陷。