我在面试的时候突然被问道,懵了一下,现在整理一些资料、

yarn的出现

yarn 是一个由FacebookGoogleExponentTilde构建的新的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区别相关推荐

  1. 不光教女朋友学会了Yarn,还让她明白了Yarn与npm的区别

    在进行正文之前,首先提供Yarn的三大网址,祝你练成Yarn功大法:Yarn官网.中文官网.Yarn Github地址 在安装Yarn之前,我们要确保已经成功安装了Node.js,关于Node.js的 ...

  2. 【Node】npm、yarn、pnpm 区别

    npm.yarn.pnpm 区别 npm npm 是 Node.js 能够如此成功的主要原因之一. npm 是围绕着语义版本控制(semver)的思想而设计的,给定一个版本号:主版本号.次版本号.补丁 ...

  3. yarn、npm、cnpm三者区别

    放一张实验室的合照压压惊,有点想实验室的兄弟们了~~~ 一.原理分析 npm (1)npm 是Node.js 能够如此成功的主要原因之一.npm 团队做了很多的工作,以确保 npm 保持向后兼容,并在 ...

  4. yarn与npm的区别

    yarn是一个新的 JS 包管理工具 ,正如官方文档中写的,Yarn 是为了弥补 npm 的一些缺陷而出现的. 比如 1: npm  install 时候特别慢 2:同一个项目,安装的时候无法保持一致 ...

  5. 了解 yarn 、npm、nodejs

    了解 yarn .npm.nodejs 一.前言 针对即将上线的 jeecg-boot 做一些准备. 二.了解系列 1.了解 nodejs Node.js 就是运行在服务端的 JavaScript.N ...

  6. yarn和npm常用基本命令安装和卸载

    初始化项目 yarn init / npm init 初始化项目 批量安装 yarn / npm install 安装package配置的依赖yarn install --force / npm in ...

  7. Yarn 和 NPM 国内镜像(淘宝镜像)

    闲话不多说,直接上干货! 这里给还没用过yarn的同学推荐一手yarn,具体差别看:yarn 和 npm 的区别 Yarn 查看当前镜像 yarn config get registry 设置为淘宝镜 ...

  8. pnpm、yarn和npm包管理器淘宝镜像和对比

    pnpm的特点 1.快速 pnpm比其他包管理器快2倍. pnpm 不仅比 npm 快,而且比 yarn 快.无论是冷缓存还是热缓存,它都比 yarn 快.yarn 从缓存中复制文件,而 pnpm 只 ...

  9. node的包管理工具:yarn和npm

    yarn是Facebook发布的一款依赖管理工具,它比npm更快.更高效. NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题. 一.yarn官方网站: 英文官网:h ...

最新文章

  1. python创建一个字典、关键字为只包含字母的字符串_探究Python源码,终于弄懂了字符串驻留技术...
  2. h5实现网页内容跟随窗口大小移动_HTML5使用四种方法实现移动页面自适应手机屏幕的方法总结...
  3. NBIOT(3)---NBIOT 移远BC28模块+stm32
  4. 【静态化平台】☞( 一)网页静态化服务
  5. java编译jni错误_JNI开发的常见错误
  6. 安装包制作工具 SetupFactory 详解
  7. 如何轻松查询分析多个快递单号物流到站派件延误件
  8. 限制计算机用户使用指定软件,电脑使用时间限制软件(Time Boss)
  9. html手机保存图片不显示,手机保存的图片在相册显示不了解决方法
  10. knuth的SJT实现
  11. linux认证加k8s认证,如何快速验证您的Kubernetes配置文件?
  12. angular RxJs
  13. TabLayout+ViewPager实现tab切换
  14. 解决NoteExpress无法在Word中插入引用文献
  15. 输出所有的水仙花数(java语言编写)
  16. AoCoder 1983 [AGC001E] BBQ Hard(组合数+dp)
  17. 机器学习为什么重要_机器学习:它是如何工作的; 更重要的是,为什么它起作用?...
  18. 学生台灯护眼灯哪个牌子好性价比高?学生护眼台灯十大牌子
  19. org/apache/poi/poifs/filesystem/FileMagic
  20. Laravel技巧集锦(30):使用api_toke前后端分离

热门文章

  1. 【论文】行车安全智能管理系统在地方铁路的应用
  2. hr看php简历,HR:“有这样的简历,才值得一见!”
  3. java中剖析Unicode和UTF-8等其他编码格式
  4. DB2错误代码大全(含实际开发中遇到的最多的问题)
  5. 解决kali安装过程中DHCP协议问题
  6. imYun 一个Go+Vue编写简化打印店工作流程的系统【开源后端+小程序端】
  7. Advanced Installer轻松带你入门
  8. 今日学习在线编程题:古人的剩余定理
  9. 乐忧商城项目总结-1
  10. FFT——傅里叶变换