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

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 — 方便跨项目共享代码,同时避免依赖同步问题)来进行代码控制,这种模式也正逐渐被开源社区和一些小型公司所采纳。

(adsbygoogle = window.adsbygoogle || []).push({});

因此,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 上。

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据智能实战

Spark 2.0.0正式版编译及问题分析

从上次编译了技术预览版2.0.1之后,官网终于放出了正式版本的2.0.0版本。 Spark Release 2.0.0(见http://spark.apach...

2026
来自专栏云加头条

CRS : 腾讯云 Redis 产品架构解析

Redis作为key-value数据库里的最热门的一员,在保持key-value数据库的简单快速的优点基础上,具有一些部分关系数据库的优点,例如数据结构丰富、操...

2.7K2
来自专栏我是攻城师

浅谈Solr和ElasticSearch建索引性能优化策略

3545
来自专栏大数据和云计算技术

大数据和云计算技术周报(第40期):NoSQL特辑

本期有 HBase、HBase+ES、StreamSets、explain、Cassandra、Redis。 希望大家会喜欢!

1102
来自专栏Hadoop数据仓库

HAWQ技术解析(三) —— 基本架构

        HAWQ是一个Hadoop原生的SQL查询引擎,它结合了MPP数据库的关键技术和Hadoop的可扩展性。HAWQ在原生的HDFS上读写数据,MP...

3149
来自专栏PPV课数据科学社区

干货丨23个适合Java开发者的大数据工具和框架

目前,编程人员面对的最大挑战就是复杂性,硬件越来越复杂,OS越来越复杂,编程语言和API越来越复杂,我们构建的应用也越来越复杂。根据外媒的一项调查报告,以下列出...

3978
来自专栏Hadoop实操

如何在VMware上部署Hadoop

本文主要讲述如何在虚拟机(VM)上部署Hadoop,因为虚拟化技术很多家都有,但本文讨论的是VMware。建议阅读人群为:系统管理员,架构师或者开发人员。

65611
来自专栏Spark学习技巧

从零开始 Spark 性能调优

1853
来自专栏CSDN技术头条

分享11款主流的开源编程工具

导读:有了开源编程工具,在基于开源许可证的情况下您可以轻松学习、修改、提高代码的质量,本文收集了11款最主流的且有价值的开源编程工具。或许会给您带来一丝惊喜。一...

2346
来自专栏芋道源码1024

互联网后端基础设施

使用Java后端技术的目的就是构建业务应用,为用户提供在线或者离线服务。因此,一个业务应用需要哪些技术、依赖哪些基础设施就决定了需要掌握的后端技术有哪些。纵观整...

1742

扫码关注云+社区

领取腾讯云代金券