用Yarn你还能做的五件事

2024-03-24 11:40
文章标签 yarn 五件

本文主要是介绍用Yarn你还能做的五件事,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

现在有很多javascript的包管理器:land,bower,component和volo还有很多,在写这篇文章时最流行的javascript包管理器是npm,npm客户端提供了成千上万的在npm中注册过的代码库。就在最近,Facebook推出了一款新的javascript包管理器Yarn,并声称比npm更快,更值得信赖,并且更安全,在这篇文章里,你可以学到五件可以做的事情。


Yarn是一款由Facebook为javascript开发的新的包管理器,它为那些在他们的项目中使用了javascript的开发者提供了更快,更可靠,更安全的使用体验。

1.离线工作

Yarn给你提供了在离线模式下工作的的能力,如果你之前安装过一个包,你可以在没有网络的情况下重新安装它,一个经典的例子如下:

当有网络的时候,我用Yarn安装了两个包像这样
这里写图片描述

用yarn初始化创建一个package.json文件
这里写图片描述

用yarn安装express和jsonwebtoken
这里写图片描述

安装完成

在安装完成后,把我的orijin目录下的包删除掉并且断开网络连接,我又运行yarn这里写图片描述

Yarn在离线的情况下安装了包

厉害了!!在不超过两秒的情况下所有的包都被重新安装上了,显然Yarn把下载的所有的包缓存到硬盘上,所以重复安装的时候不需要网络。通过并行操作,yarn最大化的进行资源利用,所以它的安装时间要快很多。


2.从多种渠道中安装

Yarn可以从多种不同的渠道安装包,例如npm,bower,你的git仓库,甚至你的本地文件。

通常,它会为你的包扫描npm像下面这样

yarn add <pkg-name>

从一个远程的打包文件中安装包像这样

yarn add <https://thatproject.code/package.tgz>

从你的本地文件中安装包

yarn add file:/path/to/local/folder

这对那些经常发布javascript包的开发者来说是很有用的,在发布之前你可以使用这个功能来测试你的包。


从git仓库中安装包

yarn add <git remote-url>

这里写图片描述


从github中安装
这里写图片描述


3.快速的获取到包

如果你之前使用过npm,当你运行npm install 后,你可能去看一场电影再回来检查一下是否把包安装成功了。使用yarn,安装时间会从等待几分钟变成几秒钟。

Yarn高效的将请求序列化来尽可能的利用网络,开始时它为请求注册信息并且递归的查找每个依赖,接下来,它在全部缓存目录下查找这个包是否之前被安装过,如果之前没有安装过,Yarn就会获取到包并且把它放到缓存目录下使它能够离线工作,并且以后不需要再次下载了。

在安装过程中,Yarn是并行运行的,这样可以使安装速度更快,我刚刚安装了三个包,jsonwebtoken,express和lodash,分别使用npm和yarn,在yarn安装完成后,npm还在安装。。。
这里写图片描述

4.自动锁定包的版本

Npm有个功能叫做shrinkwrap,为了在使用时锁定包的依赖,使用shinkwrap的困难在于开发者需要 手动的运行npm shinkwrap来生成npm-shinkwrap.json文件, 开发者也是人啊。。
使用yarn那就完全不一样了,在安装期间,yarn.lock文件会被自动生成,这和PHP开发者熟悉的composer.lock文件很像。yarn.lock文件准确的锁定包的版本和包所需要的依赖。有了这个文件,你可以确信你的项目组里的每个成员的都安装正确的包,并且可以在没有任何bug的情况下重新部署。

5.在机器上用相同的方式安装依赖

开发者A和B在使用npm在安装相同依赖文件的时候可能会得到不同的node_modules目录文件。npm使用不确定的方法来安装包的依赖,这也是很容易产生bug的原因。

在使用yarn时,上锁文件的存在和安装算法保证了安装的依赖关系产生额外的完全相同的文件和文件夹结构通过开发机器和将应用程序部署到生产。

在你的根目录下运行yarn licenses ls可以查看许可文件类型
这里写图片描述

总结

Yarn在它的初始阶段,就在安装速度和保证安全性方面带来了巨大的进步。yarn将来会成为javascript开发者最喜欢的包管理器吗,让我们期待吧!!!

这篇关于用Yarn你还能做的五件事的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/841477

相关文章

Flink on YARN模式下TaskManager的内存分配探究

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 我们使用如下的参数提交了Flink on YARN作业(per-job模式)。 /opt/flink-1.9.0/bin/flink run \--detached \--jobmanager yarn-cluster \--yarnname "x.y.z" \--yarnjobManagerMemory 2048 \--

【硬刚大数据之面试篇】2021年从零到大数据专家面试篇之Hadoop/HDFS/Yarn篇

📢欢迎关注博客主页:https://blog.csdn.net/u013411339 📢欢迎点赞 👍 收藏 ⭐留言 📝 ,欢迎留言交流! 📢本文由【王知无】原创,首发于 CSDN博客! 📢本文首发CSDN论坛,未经过官方和本人允许,严禁转载! 本文是对《【硬刚大数据之学习路线篇】2021年从零到大数据专家的学习指南(全面升级版)》的面试部分补充。 硬刚大数据系列文章链接:

Yarn 源码 | 分布式资源调度引擎 Yarn 内核源码剖析

曾有人调侃:HBase 没有资源什么事情也做不了,Spark 占用了资源却没有事情可做?   那 YARN了解一下? 01 YARN! 伴随着Hadoop生态的发展,不断涌现了多种多样的技术组件 Hive、HBase、Spark……它们在丰富了大数据生态体系的同时,也引发了新的问题思考。   熟悉大数据底层平台的朋友,应该都了解这些为大数据场景设计的技术组件不仅个个都是消耗资源的大户,而且它们本

【硬刚Hadoop】HADOOP YARN(1):YARN资源调度器(1) 入门

本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的Hadoop部分补充。 Yarn资源调度器 Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序。 1 Yarn基本架构 YARN主要由ResourceManager、NodeManager、Applic

yarn resourceManager 找不到nodeManager

尤其注意:master和slave都要配置 1首先是配置core-site.xml (注意:主机配置下hapoop缓存目录 <property> <name>hadoop.tmp.dir</name> <value>/hadoop_tmp</value> </property> ) <configuration>   <property>

hadoop,spark,yarn,jobhistory等用到的一些WEB界面

http://192.168.244.100:19888  日志聚合的界面jobhistory,可以看到每个job的分配情况,maptask的分配到哪个节点,及完成情况需要在hadoop的sbin下执行如下命令 mr-jobhistory-daemon.sh start historyserver http://192.168.244.100:50070 hadoop的web界面 http:

MapReduce V2---Yarn的架构及其执行原理

1. MRv1的局限性    1):扩展性差            MRv1中,Jobracker同事兼备了资源管理和作业控制(job的生命周期管理(task调度,跟踪task过程状态,task处理容错)两个功能。     单个的jobtracker无论在内存还是其他资源方面总存在瓶颈,在伸缩性、资源利用率、运行除mapreduce的其他任务等方面都会有限制。 MRv2 Y

Hive提交到yarn的任务一直在running问题排查

文章目录 一、问题描述二、问题排查Hive提交Spark任务流程问题定位问题总结 三、解决方案Tips: 一、问题描述 最近有数据平台的同学反馈yarn上面有一些任务跑了很久没有结束,状态一直处于running中。去Spark HistoryServer查看任务详情也没看到相关运行记录,需要人为手动kill任务才会停止并释放资源。 二、问题排查 从Spark His

yarn ResourceManager Active频繁易主问题排查

文章目录 一、故障现象二、问题分析RM的HA机制分析ZK问题分析部分任务状态更新失败问题分析 三、解决和优化方案1. 调大 jute.maxbuffer 参数2. 修改yarn的源码3. 快速让集群恢复稳定的方法 四、总结 本周三公司的yarn集群出现故障,导致两台ResourceManger频繁易主,并且许多提交到集群的任务状态为 NEW_SAVING,无法执行。这里对此次的故

Spark-Yarn模式如何配置历史服务器

在Spark程序结束之后我们也想看到运行过程怎么办? Yarn模式下,通过以下步骤配置历史服务器即可: mv spark-defaults.conf.template spark-defaults.conf修改spark-default.conf 文件,配置日志存储路径 spark.eventLog.enabled truespark.eventLog.dir hdfs://master: