当前位置:网站首页>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开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢

后浪来袭!阿里产出“第二代”容器技术手册及脑图,这也太香了吧
4 senior experts share the insider architecture design and implementation principles of Flink technology with years of experience in large factories

Extremely Knowing v2 Analysis

Flink本地UI运行

The highest level of wiring in the computer room, the beauty is suffocating

超T动力 盈运天下——中国重汽黄河/豪沃WP14T产品首发荣耀上市!
![[Cloud Native] Service Industry Case - Solutions for Unpredictable Concurrency Scenarios](/img/c7/3faa29dc374e2e16e59ac9b8ebf249.png)
[Cloud Native] Service Industry Case - Solutions for Unpredictable Concurrency Scenarios

Installing and Uninstalling MySQL on Mac

How is the B+ tree index page size determined?

Metaverse Post Office AI space-themed series of digital collections will be launched at 10:00 on July 30th "Yuanyou Digital Collection"
随机推荐
GeoServer
TensorFlow custom training function
后浪来袭!阿里产出“第二代”容器技术手册及脑图,这也太香了吧
MongoDB starts an error Process: 29784 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=14)
Configuration - Notes
websocket flv 客户端解封包
Store Limit 使用文档
【为宏正名】99%的人从第一天学习C语言就自废的武功
tiup install
Mysql database query is very slow. Besides the index, what else can be caused?
Office Automation | Office Software and Edraw MindMaster Shortcuts
Redis 缓存穿透、击穿、雪崩以及一致性问题
元宇宙的前景及四大赛道
L2-007 家庭房产(vector、set、map的使用)
TiUP 简介
【嵌入式】适用于Cortex-M3(STM32F10x)的IQmath库
ISELED---氛围灯方案的新选择
4位资深专家多年大厂经验分享出Flink技术内幕架构设计与实现原理
Distributed pre-course: MySQL implements distributed locks
编译、链接 - 笔记 - 3