Facebook 正式发布 JavaScript 包管理器 Yarn 1.0

来源: OSCHINA
编辑: 局长
2017-09-15

Facebook 已于上周正式发布 JavaScript 包管理器 Yarn 1.0。

Facebook 表示 GitHub 上有 175,000 个项目在使用 Yarn,许多大大小小的公司和广大开源社区也在使用 Yarn,每个月通过 Yarn 下载的包数量接近 30 亿个。此外,Yarn 现在也已预安装在诸如 CircleCITravis CI 和 AppVeyor 这些主流的持续集成平台上。

Yarn 具有极佳的伸缩性,可以支持成千上万个直接或间接的包依赖。Yarn 的设计初衷是保证稳定性、弹性和高性能。基于这些原则,Yarn 1.0 带来了更多的新特性,希望能够帮助 Yarn 社区更快地发展,构建更好的项目。

Yarn 1.0 中值得关注的新特性

Yarn 工作区 (Yarn Workspaces)

越来越多的科技公司开始采用单体仓库模式(mono-repository — 方便跨项目共享代码,同时避免依赖同步问题)来进行代码控制,这种模式也正逐渐被开源社区和一些小型公司所采纳。

因此,Yarn 增加了一个新特性 ——工作区。工作区可以自动从多个 package.json 中收集所有的依赖项,并一次性将它们安装完毕。项目根目录下会生成一个独立的 yarn.lock 来锁定这些文件。此外,如果多个工作区之间存在依赖,Yarn 会为它们创建链接,这样所有的项目就可以始终共享最新的代码。

自动合并 yarn.lock 文件 (Auto-merging of lockfiles)

多个开发者在开发同一个项目时,可能会需要更新包依赖,从而导致 yarn.lock 文件出现冲突。如果只有一两个冲突,可以通过手动来解决,但如果冲突数量众多,解决冲突可能会变成一件很麻烦的事情。

因此,Yarn 提供了自动合并 yarn.lock 文件的功能以解决冲突的问题。通过运行 yarn install 命令可以触发合并,如果合并成功,新的无冲突 yarn.lock 文件会被保存到磁盘上。

未来计划

Facebook 表示未来的 Yarn 将要实现下面这些目标:

  • 使用 Yarn 发布包:发布新包通常需要创建正确的更新日志、执行正确的语义版本控制、同步相关项目的版本,还需要频繁地手动或通过脚本来完成其他很多步骤。如果 Yarn 能够为包发布者完成这些事情岂不是更好?

  • 包的安全性:在添加新软件包或升级旧的包时,包的安全性也是一个很重要的需要考虑的因素。Yarn 将会与 npm 合作,将双因子认证带到 Yarn 上。

更多更新说明,请查看发布主页

下载地址:https://github.com/yarnpkg/yarn/releases

展开阅读全文
16 收藏
分享
加载中
最新评论 (5)
我就想知道示例中使用的是什么终端?
2017-09-19 09:10
0
回复
举报
我就想知道不用镜像会不会被墙
2017-09-18 10:33
0
回复
举报
还在用npm的,赶紧换成yarn吧,速度更快,不会像npm那样经常出现损坏。yarn使用镜像后速度快得不行。我的blog有一个快速介绍:https://c4ys.com/archives/844
2017-09-17 19:24
0
回复
举报
命令式的工具我感觉自己都是文盲, 唉 好的努力学习下
2017-09-15 09:24
0
回复
举报
官方介绍里提到: yarn的一个优点是,以卡通猫为吉祥物…
2017-09-15 01:44
0
回复
举报
更多评论
5 评论
16 收藏
分享
返回顶部
顶部