javascript包下载_Yarn包管理器使用入门

14c4646a5205ab9034736d2b3cb49e0d.png

简介

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/docs/install中列出。例如,在macOS上,您可以使用Homebrew,并运行

8af82cecf5afa285c782150245c93e06.png

每个操作系统都有自己的包管理器,可以使安装流程非常简单顺利。

最后,您会得到shell中可用的yarn命令:

8906615056ff6e1453c71a8958aff86b.png

管理包

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

初始化一个新项目

a830fd770bd67a6994920d5ab0675170.png

安装现有项目的依赖项

如果您已经有一个包含依赖项列表的package.json文件但尚未安装软件包,请运行

yarn

或者

yarn install

来开始安装过程。

局部本地安装软件包

把包安装在本地项目中,使用:

yarn add package-name

全局安装软件包

yarn global add package-name

在本地安装软件包作为开发依赖项 ()

yarn add --dev package-name

PS: 等价于npm中的 --save-dev 或 -D

删除软件包

yarn remove package-name

检查许可证

安装许多依赖项时,可能会有很多其他依赖项。您需要安装许多软件包,而您对这些软件包使用的许可证一无所知。

Yarn提供了一个方便的工具,可以打印您拥有的任何依赖项的许可证

yarn licenses list
ce7eb93bd7add7caf184b2a8e9410207.png

它还可以自动生成免责声明,包含您项目中的所有许可证:

yarn licenses generate-disclaimer
b5205c77b545f62e1a7c97c477bbe68f.png

检查依赖项

您是否检查过node_modules文件夹,并想知道为什么安装了特定的软件包?yarn why 命令会告诉你:

yarn why package-name
c69a31d3ee66ce6288320e84ed09ca8d.png

升级依赖包

如果要升级单个程序包,请运行

yarn upgrade package-name

要升级所有包,请运行

yarn upgrade

但是这个命令有时会导致问题,因为盲目升级而没有考虑到主版本的变化,可能会导致项目编译和运行失败。某个软件包大版本的更新,很可能会影响现有代码的使用。

Yarn有一个很好的工具,可以让你有选择地更新项目中的包,这对上个问题有很大的帮助:

yarn upgrade-interactive --latest
3141480881727cbf3fe102946226f423.png

--latest:该标志告诉Yarn忽略package.json指定的版本范围,并使用latest注册表中标记的版本

如何升级Yarn

如果您使用brew安装它,如上所述,请使用:

brew upgrade yarn

或者使用npm:

npm uninstall yarn -gnpm install yarn -g

Windows用户,安装和升级部分,请自行翻阅文档:https://yarnpkg.com/zh-Hans/docs/install#windows-stable

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值