首页 > 其他分享 >npm与yarn的区别

npm与yarn的区别

时间:2024-02-07 11:11:05浏览次数:20  
标签:npm 区别 安装 yarn 版本 锁定 安装包

yarn 是由 Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具,yarn 是为了弥补 npm 的一些缺陷而出现的

  • 同为包管理工具 npm和yarn的区别

1、并行安装:yarn安装包会同时执行多个任务,npm 需等待上一个任务安装完成才能运行下一个任务

2、离线模式:如果你已经安装过一个包,用 yarn 再次安装会从缓存中获取,而 npm 会从网络下载

3、版本锁定:yarn 默认有一个 yarn.lock 文件锁定版本,保证环境统一,而 npm 默认从网络下载最新的最稳定的,版本锁定可以解决包之间版本不兼容问题,npm 也可以通过命令实现版本锁定

4、更简洁的输出:yarn 安装包时输出的信息较少,npm 输出信息冗余

  • npm存在的一些不足

1、npm install 下载速度慢,即使是重新 install 时速度依旧慢

2、同一个项目,安装的无法保持一致性。原因是因为 package.json 文件中版本号的特点导致在安装的时候代表不同的含义。

3、使用 npm 安装多个 js 包时,包会在同一时间下载和安装。安装过程中,其中一个包抛出了一个异常,但 npm 会继续安装其他包,所以错误信息就会在一大堆提示信息中丢失掉,以至于直到执行前,都不会发现实际发生的错误。

  • yarn的优点

1、安装速度快 (服务器速度快 , 并且是并行下载)

2、版本锁定,安装版本统一

3、缓存机制,如果之前已经安装过一个软件包,用Yarn再次安装时之间从缓存中获取,就不用像npm那样再从网络下载了

4、输出简洁并且多注册来源处理。安装包时,直观地打印出必要的信息;不管包被不同的库间接关联引用多少次,只会从一个注册来源去装,防止出现混乱不一致。

npm 与 yarn 常用命令对比

 

标签:npm,区别,安装,yarn,版本,锁定,安装包
From: https://www.cnblogs.com/guwufeiyang/p/18010755

相关文章

  • 【Java核心基础】揭秘Iterable接口和Iterator接口的核心区别!
    在Java中,Iterable接口和Iterator接口都用于遍历集合(Collection)中的元素,但它们的使用方式和功能有所不同。官方文档传送门:https://docx.iamqiang.com/jdk11/api/java.base/java/lang/Iterable.htmlhttps://docx.iamqiang.com/jdk11/api/java.base/java/util/Iterator.html核心......
  • Java和JavaScript区别与联系
    区别和联系Java和JavaScript是两种不同的编程语言,尽管它们的名称相似,但它们有着不同的特性、用途和工作环境。以下是对它们之间区别与联系的详细说明:语言类型:Java:Java是一种静态类型的编程语言,意味着在编译时需要声明变量的类型,并且强调面向对象编程。JavaScript:JavaScri......
  • 【Cisco Packet Tracer】集线器和交换机区别
    ......
  • form-data、x-www-form-urlencoded的区别
    我们在平时的postman请求调试,以及web的http请求开发时,常常能看到以下几种传参的形式form-data、x-www-form-urlencoded、raw、binary,那么这些请求方式的区别是什么呢?1)form-data就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔......
  • powershell和cmd的区别
    https://www.php.cn/faq/583291.htmlPowershell和CMD(命令提示符)是Windows操作系统中两个常用的命令行工具。尽管它们都是用于执行命令和脚本的工具,但它们在功能和用途上有很大的区别。一、语法和命令Powershell和CMD使用不同的语法和命令集。CMD使用基于MS-DOS的命令语法,而Powe......
  • 面试经典:Java中list set map之间的区别
    前言大家好,我是chowley,最近正在复习Java集合,这次来总结一下list、set、map它们三个之间的区别。1.List(列表)定义:List是一种有序集合,允许存储重复元素,每个元素都有一个索引,可以按照插入顺序获取。特点:允许存储重复元素。有序集合,保留元素的插入顺序。可以通过索引访问元素。常见实现......
  • 在K8S中,Replica Set和Replication Controller之间有什么区别?
    在Kubernetes(K8s)中,ReplicaSet和ReplicationController(RC)都是用于确保集群中特定数量的Pod副本始终运行的服务。尽管它们有相似的功能,但在功能演变过程中,ReplicaSet是对ReplicationController的改进和升级。ReplicationController(RC):在早期版本的Kubernetes......
  • scheduleAtFixedRate 与 scheduleWithFixedDelay 的区别
    scheduleAtFixedRate该⽅法在initialDelay时⻓后第⼀次执⾏任务,以后每隔period时⻓,再次执⾏任务。注意,period是从任务开始执⾏算起的。开始执⾏任务后,定时器每隔period时⻓检查该任务是否完成,如果完成则再次启动任务,否则等该任务结束后才再次启动任务。scheduleWithFixDelay......
  • 设备预测性维护、预防性维护、反应性维护的区别与联系
    三者象一个三层金字塔:  预测性维护  预防性维护  反应性维护底部是反应性维护,其操作理念是“等到它坏了,然后修复它”。中间是预防性维护,即按预定的时间间隔进行维修或改造。预防性维护的目标是延长机器及其零件的使用寿命。减少停机,成本较高。金字塔的顶端是预测性维护,它......
  • 《数据篇》stream,流(区别于数据流)
    链接:https://blog.csdn.net/QiuHaoqian/article/details/1209421341、什么是流流是从支持数据处理操作的源生成的元素序列,源可以是数组、文件、集合、函数。流不是集合元素,它不是数据结构并不保存数据,它的主要目的在于计算。2、如何生成流生成流的方式主要有五种1、通过集合......