Yarn包管理器使用入门

简介

Yarn是一个JavaScript包管理器,是npm的直接竞争对手,它是Facebook开源项目之一。node

它与npm软件包兼容,所以它具备做为npm的直接替代品的巨大优点。shell

由于并行下载和缓存,它在刚推出时候,启动速度比npm快不少。虽然如今npm也追遇上了它的许多功能,可是Yarn还是我推荐的解决方案。npm

Yarn和npm的关系,就比如不一样的下载软件。去下载同一个资源,使用不一样的下载工具而已。json

工具发展到必定程度,彼此间在功能和使用体验上就会逐渐趋同。所以竞争对咱们的用户来讲是好事,npm也会借鉴和实现其余好的功能特性。windows

安装Yarn

虽然您可使用npm(npm install -g yarn)安装Yarn,但Yarn团队不推荐使用它。缓存

系统特定的安装方法在https://yarnpkg.com/zh-Hans/d...。例如,在macOS上,您可使用Homebrew,并运行:工具

每一个操做系统都有本身的包管理器,可使安装流程很是简单顺利。spa

最后,您会获得shell中可用的yarn命令:操作系统

管理包

Yarn将其依赖项写入名为package.json的文件,该文件位于项目的根文件夹中,并将依赖项文件存储到node_modules文件夹中,就像npm(若是您之前使用过它)同样。3d

初始化一个新项目

安装现有项目的依赖项
若是您已经有一个包含依赖项列表的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...

图片描述

图片描述