简介
Yarn是一个JavaScript包管理器,是npm的直接竞争对手,它是Facebook开源项目之一。
它与npm软件包兼容,因此它具有作为npm的直接替代品的巨大优势。
因为并行下载和缓存,它在刚推出时候,启动速度比npm快很多。虽然现在npm也追赶上了它的许多功能,但是Yarn仍是我推荐的解决方案。
Yarn和npm的关系,就好比不同的下载软件。去下载同一个资源,使用不同的下载工具而已。
工具发展到一定程度,彼此间在功能和使用体验上就会逐渐趋同。因此竞争对我们的用户来说是好事,npm也会借鉴和实现其他好的功能特性。
安装Yarn
虽然您可以使用npm(npm install -g yarn)安装Yarn,但Yarn团队不推荐使用它。
系统特定的安装方法在https://yarnpkg.com/zh-Hans/d...。例如,在macOS上,您可以使用Homebrew,并运行:
每个操作系统都有自己的包管理器,可以使安装流程非常简单顺利。
最后,您会得到shell中可用的yarn命令:
管理包
Yarn将其依赖项写入名为package.json的文件,该文件位于项目的根文件夹中,并将依赖项文件存储到node_modules文件夹中,就像npm(如果您以前使用过它)一样。
初始化一个新项目
安装现有项目的依赖项
如果您已经有一个包含依赖项列表的package.json文件但尚未安装软件包,请运行
yarn
或者
yarn install
来开始安装过程。
局部本地安装软件包
把包安装在本地项目中,使用:
yarn add package-name
全局安装软件包
yarn global add package-name
在本地安装软件包作为开发依赖项
yarn add --dev package-name
等价于npm中的 --save-dev 或 -D
删除软件包
yarn remove package-name
检查许可证
安装许多依赖项时,可能会有很多其他依赖项。您需要安装许多软件包,而您对这些软件包使用的许可证一无所知。
Yarn提供了一个方便的工具,可以打印您拥有的任何依赖项的许可证
yarn licenses list
它还可以自动生成免责声明,包含您项目中的所有许可证:
yarn licenses generate-disclaimer
检查依赖项
您是否检查过node_modules文件夹,并想知道为什么安装了特定的软件包?yarn why 命令会告诉你:
yarn why package-name
升级依赖包
如果要升级单个程序包,请运行
yarn upgrade package-name
要升级所有包,请运行
yarn upgrade
但是这个命令有时会导致问题,因为盲目升级而没有考虑到主版本的变化,可能会导致项目编译和运行失败。某个软件包大版本的更新,很可能会影响现有代码的使用。
Yarn有一个很好的工具,可以让你有选择地更新项目中的包,这对上个问题有很大的帮助:
yarn upgrade-interactive --latest
--latest:该标志告诉Yarn忽略package.json指定的版本范围,并使用latest注册表中标记的版本
如何升级Yarn
如果您使用brew安装它,如上所述,请使用:
brew upgrade yarn
或者使用npm:
npm uninstall yarn -g
npm install yarn -g
Windows用户,安装和升级部分,请自行翻阅文档:https://yarnpkg.com/zh-Hans/d...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。