yarn和npm区别
我在面试的时候突然被问道,懵了一下,现在整理一些资料、
yarn的出现
yarn 是一个由Facebook
、Google
、Exponent
和Tilde
构建的新的JavaScript包管理器。它的出现是为了解决历史上npm
的某些不足(比如npm对于依赖的完整性和一致性的保证,以及npm安装过程中速度很慢的问题)
当npm还处于v3
时期的时候,一个叫yarn
的包管理工具横空出世.在2016年, npm还没有package-lock.json文件,安装的时候速度很慢,稳定性很差,yarn
的出现很好的解决了一下的一些问题:
确定性: 通过yarn.lock等机制,即使是不同的安装顺序,相同的依赖关系在任何的环境和容器中,都可以以相同的方式安装。(那么,此时的npm v5之前,并没有package-lock.json机制,只有默认并不会使用 npm-shrinkwrap.json)
采用模块扁平化的安装模式: 将不同版本的依赖包,按照一定的策略,归结为单个版本;以避免创建多个版本造成工程的冗余(目前版本的npm也有相同的优化)
网络性能更好:
yarn
采用了请求排队的理念,类似于并发池连接,能够更好的利用网络资源;同时也引入了一种安装失败的重试机制采用缓存机制,实现了离线模式 (目前的npm也有类似的实现)
相比于npm,Yarn另一个显著的区别就是yarn.lock的子依赖的版本不是固定的版本。这其实就说明了一个问题: 一个单独的yarn.lock
的问题并不能确定✅node-modules
的文件结构,还需要package.json
的配合。
其实到了这里,我会有一个问题,如何实现 npm 到 yarn 的切换呢?
这里 我了解到有一个专门的工具synp,它可以将yarn.lock
转换为package-lock.json
,反之亦然。
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,还让她明白了Yarn与npm的区别
在进行正文之前,首先提供Yarn的三大网址,祝你练成Yarn功大法:Yarn官网.中文官网.Yarn Github地址 在安装Yarn之前,我们要确保已经成功安装了Node.js,关于Node.js的 ...
- 【Node】npm、yarn、pnpm 区别
npm.yarn.pnpm 区别 npm npm 是 Node.js 能够如此成功的主要原因之一. npm 是围绕着语义版本控制(semver)的思想而设计的,给定一个版本号:主版本号.次版本号.补丁 ...
- yarn、npm、cnpm三者区别
放一张实验室的合照压压惊,有点想实验室的兄弟们了~~~ 一.原理分析 npm (1)npm 是Node.js 能够如此成功的主要原因之一.npm 团队做了很多的工作,以确保 npm 保持向后兼容,并在 ...
- yarn与npm的区别
yarn是一个新的 JS 包管理工具 ,正如官方文档中写的,Yarn 是为了弥补 npm 的一些缺陷而出现的. 比如 1: npm install 时候特别慢 2:同一个项目,安装的时候无法保持一致 ...
- 了解 yarn 、npm、nodejs
了解 yarn .npm.nodejs 一.前言 针对即将上线的 jeecg-boot 做一些准备. 二.了解系列 1.了解 nodejs Node.js 就是运行在服务端的 JavaScript.N ...
- yarn和npm常用基本命令安装和卸载
初始化项目 yarn init / npm init 初始化项目 批量安装 yarn / npm install 安装package配置的依赖yarn install --force / npm in ...
- Yarn 和 NPM 国内镜像(淘宝镜像)
闲话不多说,直接上干货! 这里给还没用过yarn的同学推荐一手yarn,具体差别看:yarn 和 npm 的区别 Yarn 查看当前镜像 yarn config get registry 设置为淘宝镜 ...
- pnpm、yarn和npm包管理器淘宝镜像和对比
pnpm的特点 1.快速 pnpm比其他包管理器快2倍. pnpm 不仅比 npm 快,而且比 yarn 快.无论是冷缓存还是热缓存,它都比 yarn 快.yarn 从缓存中复制文件,而 pnpm 只 ...
- node的包管理工具:yarn和npm
yarn是Facebook发布的一款依赖管理工具,它比npm更快.更高效. NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题. 一.yarn官方网站: 英文官网:h ...
最新文章
- python创建一个字典、关键字为只包含字母的字符串_探究Python源码,终于弄懂了字符串驻留技术...
- h5实现网页内容跟随窗口大小移动_HTML5使用四种方法实现移动页面自适应手机屏幕的方法总结...
- NBIOT(3)---NBIOT 移远BC28模块+stm32
- 【静态化平台】☞( 一)网页静态化服务
- java编译jni错误_JNI开发的常见错误
- 安装包制作工具 SetupFactory 详解
- 如何轻松查询分析多个快递单号物流到站派件延误件
- 限制计算机用户使用指定软件,电脑使用时间限制软件(Time Boss)
- html手机保存图片不显示,手机保存的图片在相册显示不了解决方法
- knuth的SJT实现
- linux认证加k8s认证,如何快速验证您的Kubernetes配置文件?
- angular RxJs
- TabLayout+ViewPager实现tab切换
- 解决NoteExpress无法在Word中插入引用文献
- 输出所有的水仙花数(java语言编写)
- AoCoder 1983 [AGC001E] BBQ Hard(组合数+dp)
- 机器学习为什么重要_机器学习:它是如何工作的; 更重要的是,为什么它起作用?...
- 学生台灯护眼灯哪个牌子好性价比高?学生护眼台灯十大牌子
- org/apache/poi/poifs/filesystem/FileMagic
- Laravel技巧集锦(30):使用api_toke前后端分离