Yarn 下一代 Node 包管理器

简介

在 JavaScript 社区中,工程师们互相分享成千上万的代码,帮助我们节省大量编写基础组件、类库或框架的时间。每个代码包可能都依赖于其他代码,而代码间的依赖关系则由包管理器负责维护。目前最流行的 JavaScript 包管理器是 npm 客户端,在 npm 仓库中提供了多达 30 万的软件包。据统计,已有超过 500 万的工程师使用 npm 仓库,其软件包下载量达到了 50 亿次/月。

在 Facebook 中,我们多年来一直在使用 npm 客户端并取得了成功,但随着代码仓库与团队人数的增长,我们在一致性、安全性以及性能方面遇到了挑战。在尝试解决每个方面的问题后,我们最终决定着手打造一套新的客户端解决方案,以帮助我们更可靠地管理依赖。我们把这个客户端工具称为Yarn —— 更加快速、可靠、安全的 npm 客户端的替代品。

与 Exponent、 Google 和 Tilde 进行了合作,并开源 Yarn 项目。工程师在使用 Yarn 时,依然需要访问 npm 仓库,但 Yarn 能够更快速地安装软件包和管理依赖关系,并且可以在跨机器或者无网络的安全环境中保持代码的一致性。Yarn 提高了开发效率,并解决了共享代码时面临的一些问题,使得工程师们可以专注在构建新产品以及新特性上。

特性

本地缓存

类似 GradleYarn 会把使用过的模块在本地缓存一份,如果下次还要用到相同版本的模块,那么将会直接使用本地的而不是访问网络重新获取一份。

这个特性碾压 NPM 了啊有木有!我之前使用 NPM 的时候一直想吐槽这个来着,如果全局安装项目就会依赖环境,如果不全局安装那么每个项目都要重新下载一次包,浪费时间和资源。

安全性

安装之前会验证文件完整性,所以不用担心安装到损坏的文件啦

可靠

Facebook 都把它用在生产环境中了,Google 也要参与维护了,Github 上那么多的 star,绝壁可靠了吧

更优雅的命令

命令相比起 NPM 更容易理解,默认的设置足够贴心,感觉要起飞了

使用

说了这么多也心动了,那么我们就开始安装 Yarn 吧。

安装

笔者使用的是 Mac,所以只会介绍 Mac 的安装方法,其它方式请参照 Installation Guide

Mac 上有三种安装方式,推荐使用 Homebrew 安装。

Homebrew安装

输入以下命令即可

brew update
brew install yarn

如果使用 NVM 的话,可以删除依赖中的 node:

brew uninstall node

安装脚本

下载官网提供的安装脚本来安装

curl -o- -L https://yarnpkg.com/install.sh | bash

npm 安装

这是最不推荐的一个方式

npm install --global yarn

验证安装成功

选择以上三个方法之中的任意一种安装成功之后,运行如下命令检测是否安装成功

yarn --version

如果提示没有命令,去修改.zshrc(或.profile, .bashrc)添加如下语句

export PATH="$PATH:$HOME/.yarn/bin"

常用命令

安装完毕了,那么就要使用它了,下面是一些常用命令和 NPM 对应命令的对照表

作用NPM 命令Yarn 命令
安装npm installyarn
安装某个包npm install xxx —saveyarn add xxx
删除某个包npm uninstall xxx —saveyarn remove xxx
开发模式下安装某个包npm install xxx —save-devyarn add xxx —dev
更新npm update —saveyarn upgrade
全局安装npm install xxx –globalyarn global add xxx

还有一些包发布者才会用到的命令就不作详细讲解了

总结

yarn 目前来说已经可以做到替换 npm 了,赶紧使用它换取更高的工作效率吧,Enjoy it~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值