当前位置:网站首页>yarn的安装及使用教程
yarn的安装及使用教程
2022-07-30 14:55:00 【segegefe】
目录
一、引言
之前出过一篇关于 用 npm 创建 react 项目的介绍与使用教程,本文在此介绍并对比一下 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 输出信息冗余
三、yarn的安装
1. nodejs下载安装:
在node.js 官网里推荐选择 LTS (长期支持)版本,可在命令行用node -v 查看node的安装版本。顺便npm -v
查看npm的版本号。
2. yarn的安装并查看版本:
npm install -g yarn
yarn --version
四、总结
npm存在的一些不足:
npm install
下载速度慢,即使是重新 install 时速度依旧慢同一个项目,安装的无法保持一致性。原因是因为 package.json 文件中版本号的特点导致在安装的时候代表不同的含义。
使用 npm 安装多个 js 包时,包会在同一时间下载和安装。安装过程中,其中一个包抛出了一个异常,但 npm 会继续安装其他包,所以错误信息就会在一大堆提示信息中丢失掉,以至于直到执行前,都不会发现实际发生的错误。
Yarn的优点:
- 安装速度快 (服务器速度快 , 并且是并行下载)
- 版本锁定,安装版本统一
- 缓存机制,如果之前已经安装过一个软件包,用Yarn再次安装时之间从缓存中获取,就不用像npm那样再从网络下载了
- 输出简洁并且多注册来源处理。安装包时,直观地打印出必要的信息;不管包被不同的库间接关联引用多少次,只会从一个注册来源去装,防止出现混乱不一致。
npm 与 yarn 常用命令对比
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- 后浪来袭!阿里产出“第二代”容器技术手册及脑图,这也太香了吧
- golang modules initialization project
- Redis cache penetration, breakdown, avalanche and consistency issues
- 调试 - 笔记
- golang modules初始化项目
- Nature Microbiology综述:聚焦藻际--浮游植物和细菌互作的生态界面
- 定时任务 corn
- Debug - Notes
- Example of video switching playback (video switching example) code
- Introduction to golang image processing library image
猜你喜欢
Excel uses Visual Basic Editor to modify macros
本地事务与分布式事务
1222. 可以攻击国王的皇后-力扣双百代码
延时消息队列
【重磅来袭】教你如何在RGBD三维重建中获取高质量模型纹理
我们公司用了 6 年的网关服务,动态路由、鉴权、限流等都有,稳的一批!
Example of video switching playback (video switching example) code
Mac 中 MySQL 的安装与卸载
GeoServer
Flink实时仓库-DWS层(关键词搜索分析-自定义函数,窗口操作,FlinkSql设置水位线,保存数据到Clickhouse)模板代码
随机推荐
B+树索引页大小是如何确定的?
Our company has used gateway services for 6 years, dynamic routing, authentication, current limiting, etc., a stable batch!
【重磅来袭】教你如何在RGBD三维重建中获取高质量模型纹理
如何写一份高可读性的软件工程设计文档
MySQL客户端工具的使用与MySQL SQL语句
Debug - Notes
TensorFlow自定义训练函数
tiup clean
Alluxio for Presto fu can across the cloud self-service ability
Placement Rules 使用文档
TiDB 工具下载
(科普文)什么是碎片化NFT(Fractional NFT)
TiUP 命令概览
1222. 可以攻击国王的皇后-力扣双百代码
Sleuth+Zipkin(可视化) 服务链路追踪
B+树索引页大小是如何确定的?
阿里CTO程立:阿里巴巴的开源历程、理念和实践
Lock wait timeout exceeded解决方案
481-82(105、24、82、34、153)
【喂到嘴边了的模块】准备徒手撸GUI?用Arm-2D三分钟就够了