萝卜青菜各有所爱------npm和yarn
前言
为什么要写这篇文章呢,首先我在以前的公司(实习期间)一直在用npm,当然也知道有yarn这个东西,就是没用过。
来了新公司以后就开始用yarn啦,接下来让我们看一下他们之间的比较吧!
Yarn的优点?
- 速度快 。速度快主要来自以下两个方面:
- 并行安装:无论 npm 还是 Yarn 在执行包的安装时,都会执行一系列任务。npm 是按照队列执行每个 package,也就是说必须要等到当前 package 安装完成之后,才能继续后面的安装。而 Yarn 是同步执行所有任务,提高了性能。
- 离线模式:如果之前已经安装过一个软件包,用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相关推荐
- 搭建Linux 编程工具-萝卜青菜各有所爱
你懂的,不解释 1) # yum install git // set admin and some client. the client have to send patch to the admi ...
- 这些是不是程序员爱不释手的10款神级工具【萝卜青菜各有所爱】
程序员爱不释手的10款神级工具,有你所用的一款吗? 一.Wireshark Wireshark是广大黑客.网络攻城狮的最爱,极大的方便了我们抓取.分析网络数据包. 二.VMware VMware虚拟机 ...
- 单片机小白学步系列(七) 准备实验板——萝卜青菜,各有所爱
单片机的学习,最重要的一点就是多实践.站在岸上学不会游泳.没有实践,恐怕永远也学不好单片机.我将和大家一起,选择一款适合自己的单片机实验板. 我们主要有三个可选方案: 1.自己动手搭建学习板: 2.购 ...
- 环境搭建之八-- node.js, npm和yarn
2019独角兽企业重金招聘Python工程师标准>>> 一.node.js 1.node.js官网下载64位二进制压缩包 node-v8.12.0-linux-x64.tar.xz ...
- androidx86安装pc后无法联网_问题解决记录-npm和yarn全局安装成功后命令无法执行的问题...
问题描述: 使用命令npm i -g xxx安装成功后无法执行被安装的命令,比如安装yarn npm i -g yarn 执行上面的命令安装成功yarn以后执行的时候提示,command not fo ...
- npm与Yarn命令对比
npm Yarn 备注 npm install yarn 下载package.json中的包 npm config set registry XXX yarn config set registry ...
- 为什么我从 npm 到 yarn 再到 npm?
first post on http://blog.xgheaven.com/2018... 从接触到 node 环境来说,其中一个不可或缺的一部分便是 npm 包管理,但是由于官方的 npm 有各种 ...
- npm 安装yarn_问题解决记录-npm和yarn全局安装成功后命令无法执行的问题
问题描述: 使用命令npm i -g xxx安装成功后无法执行被安装的命令,比如安装yarn npm i -g yarn 执行上面的命令安装成功yarn以后执行的时候提示,command not fo ...
- 关于npm和yarn 安装vue脚手架
第一篇博客有点小紧张.轻喷~ 第一步:安装node.js 地址 --------https://nodejs.org/en/ 详细步骤这里就不写了 可以去看 地址 ----- ...
- npm和yarn的区别,我们该如何选择?
周一入职,同事JJ让我熟悉一下基于React的新项目. 按照以往,我的步骤都是: git clone xxx npm install npm run dev 这时,JJ给我来了下面一段 git clo ...
最新文章
- 【Android 面试基础知识点整理】
- Elasticsearch - cluster_block_exception [FORBIDDEN/12/index read-only / allow delete (api)]
- JZOJ 1321. 灯
- 过拟合问题——正则化方法
- 【干货】和你谈谈数据分析报告
- 层遇到select框时[收藏]
- 基于docker在Ubuntu上搭建TensorFlow-GPU计算环境
- 30个HTML标签,10.30 html标签
- PyTorch:模型层和nn container
- 【论文阅读】Table-to-text Generation by Structure-aware Seq2seq Learning
- 开始做我的robot博客
- linux下mysql双机主从复制(一主一从)----方法2
- 计算机学院运动会海报,《图文》运动会宣传海报资料
- SE:14.Annotation
- 为何电脑上不显示手机连接服务器,为什么我电脑都能连接上vpn手机却连不上
- 树的先序、中序、后序和层次遍历的C++递归实现
- 编译原理陈火旺第三版第六章课后题答案
- 每天一个俯卧撑的健身法 - 微习惯实践
- 不要高估自己的自制力
- ~!#¥%……*()——+|