前言

为什么要写这篇文章呢,首先我在以前的公司(实习期间)一直在用npm,当然也知道有yarn这个东西,就是没用过。

来了新公司以后就开始用yarn啦,接下来让我们看一下他们之间的比较吧!

Yarn的优点?

  • 速度快 。速度快主要来自以下两个方面:
  1. 并行安装:无论 npm 还是 Yarn 在执行包的安装时,都会执行一系列任务。npm 是按照队列执行每个 package,也就是说必须要等到当前 package 安装完成之后,才能继续后面的安装。而 Yarn 是同步执行所有任务,提高了性能。
  2. 离线模式:如果之前已经安装过一个软件包,用Yarn再次安装时之间从缓存中获取,就不用像npm那样再从网络下载了。
  • 安装版本统一:为了防止拉取到不同的版本,Yarn 有一个锁定文件 (lock file) 记录了被确切安装上的模块的版本号。每次只要新增了一个模块,Yarn 就会创建(或更新)yarn.lock 这个文件。这么做就保证了,每一次拉取同一个项目依赖时,使用的都是一样的模块版本。npm 其实也有办法实现处处使用相同版本的 packages,但需要开发者执行 npm shrinkwrap 命令。这个命令将会生成一个锁定文件,在执行 npm install 的时候,该锁定文件会先被读取,和 Yarn 读取 yarn.lock 文件一个道理。npm 和 Yarn 两者的不同之处在于,Yarn 默认会生成这样的锁定文件,而 npm 要通过 shrinkwrap 命令生成 npm-shrinkwrap.json 文件,只有当这个文件存在的时候,packages 版本信息才会被记录和更新。
  • 更简洁的输出:npm 的输出信息比较冗长。在执行 npm install <package> 的时候,命令行里会不断地打印出所有被安装上的依赖。相比之下,Yarn 简洁太多:默认情况下,结合了 emoji直观且直接地打印出必要的信息,也提供了一些命令供开发者查询额外的安装信息。
  • 多注册来源处理:所有的依赖包,不管他被不同的库间接关联引用多少次,安装这个包时,只会从一个注册来源去装,要么是 npm 要么是 bower, 防止出现混乱不一致。
  • 更好的语义化: yarn改变了一些npm命令的名称,比如 yarn add/remove,感觉上比 npm 原本的 install/uninstall 要更清晰。

yarn的安装

下载node.js,使用npm安装

npm install -g yarn
查看版本:yarn --version

当然还有其他的安装方法,我这里是最简单的。

Yarn和npm命令对比

npm yarn
npm install yarn
npm install react --save yarn add react
npm uninstall react --save yarn remove react
npm install react --save-dev yarn add react --dev
npm update --save yarn upgrade

总结

目前在公司正在使用 yarn,并且没有遇到更多问题,我们时时刻刻都要学习新的技术,不断进步,后续我还会写一些其他的比较,都是我们在工作中经常遇到的,所以希望大家点个关注,谢谢啦!

萝卜青菜各有所爱------npm和yarn相关推荐

  1. 搭建Linux 编程工具-萝卜青菜各有所爱

    你懂的,不解释 1) # yum install git // set admin and some client. the client have to send patch to the admi ...

  2. 这些是不是程序员爱不释手的10款神级工具【萝卜青菜各有所爱】

    程序员爱不释手的10款神级工具,有你所用的一款吗? 一.Wireshark Wireshark是广大黑客.网络攻城狮的最爱,极大的方便了我们抓取.分析网络数据包. 二.VMware VMware虚拟机 ...

  3. 单片机小白学步系列(七) 准备实验板——萝卜青菜,各有所爱

    单片机的学习,最重要的一点就是多实践.站在岸上学不会游泳.没有实践,恐怕永远也学不好单片机.我将和大家一起,选择一款适合自己的单片机实验板. 我们主要有三个可选方案: 1.自己动手搭建学习板: 2.购 ...

  4. 环境搭建之八-- node.js, npm和yarn

    2019独角兽企业重金招聘Python工程师标准>>> 一.node.js 1.node.js官网下载64位二进制压缩包  node-v8.12.0-linux-x64.tar.xz ...

  5. androidx86安装pc后无法联网_问题解决记录-npm和yarn全局安装成功后命令无法执行的问题...

    问题描述: 使用命令npm i -g xxx安装成功后无法执行被安装的命令,比如安装yarn npm i -g yarn 执行上面的命令安装成功yarn以后执行的时候提示,command not fo ...

  6. npm与Yarn命令对比

    npm Yarn 备注 npm install yarn 下载package.json中的包 npm config set registry XXX yarn config set registry ...

  7. 为什么我从 npm 到 yarn 再到 npm?

    first post on http://blog.xgheaven.com/2018... 从接触到 node 环境来说,其中一个不可或缺的一部分便是 npm 包管理,但是由于官方的 npm 有各种 ...

  8. npm 安装yarn_问题解决记录-npm和yarn全局安装成功后命令无法执行的问题

    问题描述: 使用命令npm i -g xxx安装成功后无法执行被安装的命令,比如安装yarn npm i -g yarn 执行上面的命令安装成功yarn以后执行的时候提示,command not fo ...

  9. 关于npm和yarn 安装vue脚手架

    第一篇博客有点小紧张.轻喷~ 第一步:安装node.js       地址 --------https://nodejs.org/en/ 详细步骤这里就不写了    可以去看     地址 ----- ...

  10. npm和yarn的区别,我们该如何选择?

    周一入职,同事JJ让我熟悉一下基于React的新项目. 按照以往,我的步骤都是: git clone xxx npm install npm run dev 这时,JJ给我来了下面一段 git clo ...

最新文章

  1. 【Android 面试基础知识点整理】
  2. Elasticsearch - cluster_block_exception [FORBIDDEN/12/index read-only / allow delete (api)]
  3. JZOJ 1321. 灯
  4. 过拟合问题——正则化方法
  5. 【干货】和你谈谈数据分析报告
  6. 层遇到select框时[收藏]
  7. 基于docker在Ubuntu上搭建TensorFlow-GPU计算环境
  8. 30个HTML标签,10.30 html标签
  9. PyTorch:模型层和nn container
  10. 【论文阅读】Table-to-text Generation by Structure-aware Seq2seq Learning
  11. 开始做我的robot博客
  12. linux下mysql双机主从复制(一主一从)----方法2
  13. 计算机学院运动会海报,《图文》运动会宣传海报资料
  14. SE:14.Annotation
  15. 为何电脑上不显示手机连接服务器,为什么我电脑都能连接上vpn手机却连不上
  16. 树的先序、中序、后序和层次遍历的C++递归实现
  17. 编译原理陈火旺第三版第六章课后题答案
  18. 每天一个俯卧撑的健身法 - 微习惯实践
  19. 不要高估自己的自制力
  20. ~!#¥%……*()——+|

热门文章

  1. 股票涨停是什么意思呀?股市中股票涨停是什么意思?
  2. 华为HG8245光纤猫路由设置
  3. 王佩丰excel教程笔记(认识excel)
  4. xp系统 共享文件夹服务器,WinXP如何共享文件夹?共享文件夹的方法
  5. 百度地图开发点连线形成路径
  6. CFT每日一题之 天下武功,唯快不破
  7. 按键短按、长按,双击
  8. 差分 离散化 (线段树优化lazy标记)2018ICPC SouthEastern Fishermen
  9. 智能合约开发 基于Hardhat(实操)
  10. 我们真的需要智能路由器?