毛线即插即用

npm是 Node.js 的默认包管理器。 Facebook 长期以来一直在开发一种名为Yarn的替代包管理解决方案。作为默认解决方案,Yarn 似乎正在慢慢从 GitHub 自述文件中消失,官方网站上的统计数据显示,只有一小部分软件包安装是使用 Yarn 进行的。然而,跳出框框还是值得一看的。


Yarn 完全兼容现有的 package.json 文件,因此您可以轻松地在现有项目中使用这两种方案。两种方案的命令只有细微差别。以下是主要命令的比较。:

描述npm
初始化 npm初始化纱线初始化
更新资料npm install -g npm纱线自我更新
安装套件npm安装
--save [名称]
纱线添加[名称]
安装套件npm安装
--save-dev [名称]
纱线添加
--dev [名称]
全局安装软件包npm install -g [名称]yarn global add [名称]
安装所有软件包npm安装纱线安装
更新所有软件包npm更新纱线升级
卸载程序包npm删除[名称]纱线清除[名称]

Yarn 最初的目标是解决 npm 的一些痛点。最明显的区别是更高的性能:通过增量安装、多线程和最新的杀手级功能即插即用 (PNP),性能显着提高。即插即用拒绝基于项目的node_modules文件夹的想法,该文件夹的文件数量通常会增长到天文数字的高度。您可以在官方即插即用白皮书中找到更多相关信息。我们使用 npm 安装eslint一次,然后使用 Yarn 安装一次,并在每种情况下预热缓存,以使速度差异明显(6 倍!):

npm 6.5.0
纱1.12.3
背部