从0到0.1学习 包管理工具YARN

Before

本篇文章探讨的是JS包管理器。如果要学习分布式资源管理框架Yarn请移步Hadoop Yarn。

yarn是什么?

全称:Yet Another Resource Negotiator
属性:包管理工具、依赖管理器

为什么会出现yarn?

开发者们使用第三方JS工具库来提高开发速度,可是面临着依赖不满足,甚至依赖下载顺序不对也会导致运行出错。另外第三方工具库也在不断的更新迭代,手动换包也增加了复杂度,这是依赖管理工具就应运而生了。

和yarn同一个赛道的都有什么?

npm与yarn功能相似,不过yarn是弥补npm缺陷而出现的

那么使用npm的缺点有哪些呢?

  • 速度慢:用Yarn对比 Npm,就会感觉等待 Npm 安装进度条是一个很漫长的过程,尤其是在网速不好的情况下,当然大家也可以使用 Npm 在国内的淘宝镜像服务 cnpm,这样速度虽然提升了,但是安装之后运行时的各种问题,也是开发者一直所诟病的,所以在速度上,yarn 碾压 npm
  • 错误提示长:关于错误提示,yarn 做的更加人性化,使用 npm 时,如果安装某一个依赖发生错误,npm 会继续打印之后的安装日志,这样依赖很多的大型项目,开发者很难注意到到底哪里安装报错
  • 版本一致性无法保证:在 npm5 之前,npm 安装无法保证版本的一致性,如:“1.0.3”、“~1.0.3”、"^1.0.3"这三个命令分别代表着:安装指定的 1.0.3 版本、安装 1.0.X 中最新的版本、
    安装 1.X.X 中最新的版本,这样虽然更详细,但也给学习中的开发者增加极大的学习成本。

yarn它好在哪里呢?

  • 速度快: Yarn 缓存了每个下载过的包,再次使用时无需重复下载。同时它是并行的,因此安装速度更快
  • 安全: 在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。
  • 可靠: 使用详细、简洁的锁文件格式和明确的安装算法,使 Yarn 能够在不同系统上保证无差异的工作。

参考资料

  1. http://m.imooc.com/wiki/details?a=yarnlesson

猜你喜欢

转载自blog.csdn.net/ptyp222/article/details/114537609