Yarn学习,Yarn安装,Yarn常用命令。这一篇即可(有需要再补充)

简介: Yarn 是一个快速、可靠、安全的 JavaScript 包管理工具,旨在解决 npm 的一些不足之处。

导言

  1. Yarn 中文官网
  2. Yarn 英文官网

一、Yarn是什么?

Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 ,正如官方文档中写的,Yarn 是为了弥补 npm 的一些缺陷而出现的。”这句话让我想起了使用npm时的坑了:

  • npm install的时候巨慢。特别是新的项目拉下来要等半天,删除node_modules,重新install的时候依旧如此。
  • 同一个项目,安装的时候无法保持一致性。由于package.json文件中版本号的特点,下面三个版本号在安装的时候代表不同的含义。
"5.0.3",
"~5.0.3",
"^5.0.3"

“5.0.3”表示安装指定的5.0.3版本,“~5.0.3”表示安装5.0.X中最新的版本,“^5.0.3”表示安装5.X.X中最新的版本。这就麻烦了,常常会出现同一个项目,有的同事是OK的,有的同事会由于安装的版本不一致出现bug。

  • 安装的时候,包会在同一时间下载和安装,中途某个时候,一个包抛出了一个错误,但是npm会继续下载和安装包。因为npm会把所有的日志输出到终端,有关错误包的错误信息就会在一大堆npm打印的警告中丢失掉,并且你甚至永远不会注意到实际发生的错误

带着这些坑,我开始了解Yarn的优势及其解决的问题。

二、Yarn的优点?

  • 速度快 。速度快主要来自以下两个方面:
  1. 并行安装:无论 npm 还是 Yarn 在执行包的安装时,都会执行一系列任务。npm 是按照队列执行每个 package,也就是说必须要等到当前 package 安装完成之后,才能继续后面的安装。而 Yarn 是同步执行所有任务,提高了性能。
  2. 离线模式:如果之前已经安装过一个软件包,用Yarn再次安装时之间从缓存中获取,就不用像npm那样再从网络下载了。
  • 安装版本统一:为了防止拉取到不同的版本,Yarn 有一个锁定文件 (lock file) 记录了被确切安装上的模块的版本号。每次只要新增了一个模块,Yarn 就会创建(或更新)yarn.lock 这个文件。这么做就保证了,每一次拉取同一个项目依赖时,使用的都是一样的模块版本。npm 其实也有办法实现处处使用相同版本的 packages,但需要开发者执行 npm shrinkwrap 命令。这个命令将会生成一个锁定文件,在执行 npm install 的时候,该锁定文件会先被读取,和 Yarn 读取 yarn.lock 文件一个道理。npm 和 Yarn 两者的不同之处在于,Yarn 默认会生成这样的锁定文件,而 npm 要通过 shrinkwrap 命令生成 npm-shrinkwrap.json 文件,只有当这个文件存在的时候,packages 版本信息才会被记录和更新。
  • 更简洁的输出:npm 的输出信息比较冗长。在执行 npm install <package> 的时候,命令行里会不断地打印出所有被安装上的依赖。相比之下,Yarn 简洁太多:默认情况下,结合了 emoji直观且直接地打印出必要的信息,也提供了一些命令供开发者查询额外的安装信息。
  • **多注册来源处理:**所有的依赖包,不管他被不同的库间接关联引用多少次,安装这个包时,只会从一个注册来源去装,要么是 npm 要么是 bower, 防止出现混乱不一致。
  • 更好的语义化: yarn改变了一些npm命令的名称,比如 yarn add/remove,感觉上比 npm 原本的 npm install/uninstall 要更清晰。

三、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 install -g yarn 安装Yarn
yarn add 添加依赖
yarn audit 对已安装的软件包执行漏洞审核
yarn autoclean 从程序包依赖项中清除并删除不必要的文件
yarn bin 显示依赖bin文件夹的位置
yarn cache 管理用户目录中的依赖缓存
yarn check 验证当前项目中程序包依赖项
yarn config 管理依赖配置文件
yarn create 创建Yarn工程
yarn dedupe 删除重复的依赖
yarn generate-lock-entry 生成Yarn锁文件
yarn global 在全局安装依赖
yarn help 显示Yarn的帮助信息
yarn import 迁移当前依赖的项目package-lock.json
yarn info 显示有关依赖的信息
yarn init 初始化工程并创建package.json文件
yarn install 用于安装项目的所有依赖项
yarn licenses 列出已安装依赖的许可证及源码url
yarn link 链接依赖文件夹
yarn list 列出已安装的依赖
yarn login 存储您在 registry 上的用户名和 email
yarn logout 清除你在 registry 上用户名和 email
yarn outdated 列出所有依赖项的版本信息
yarn owner 展示依赖作者
yarn pack 创建依赖项的压缩gzip
yarn policies 规定整个项目中执行Yarn的版本
yarn publish 将依赖发布到npm注册表
yarn remove 删除依赖
yarn run 运行定义的程序脚本命令
yarn tag 在依赖上添加,删除或列出标签
yarn team 管理组织中的团队,并更改团队成员身份
yarn test 运行程序的test命令
yarn upgrade 将指定依赖升级为最新版本
yarn upgrade-interactive 更新过期依赖的简便方法
yarn version 展示依赖版本信息
yarn versions 展示所有依赖项版本信息
yarn why 显示有关为什么安装依赖的信息
yarn workspace Yarn的工作区信息
yarn workspaces Yarn的所有工作区信息
相关文章
|
4月前
|
资源调度 分布式计算 Hadoop
使用YARN命令管理Hadoop作业
本文介绍了如何使用YARN命令来管理Hadoop作业,包括查看作业列表、检查作业状态、杀死作业、获取作业日志以及检查节点和队列状态等操作。
82 1
使用YARN命令管理Hadoop作业
|
5月前
|
资源调度 Linux iOS开发
GPT栏目:yarn 安装
本文提供了在Windows、macOS和Linux操作系统上安装yarn的详细步骤,包括通过Windows安装程序、使用Homebrew在macOS上安装,以及通过包管理器在不同Linux发行版上安装yarn,并验证安装是否成功。
GPT栏目:yarn 安装
|
5月前
|
SQL 资源调度 数据处理
实时计算 Flink版产品使用问题之-s参数在yarn-session.sh命令中是否有效
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6月前
|
缓存 资源调度 前端开发
Yarn的安装及使用教程
Yarn的安装及使用教程
222 1
|
7月前
|
存储 缓存 资源调度
Yarn: 安装与使用教程
Yarn: 安装与使用教程
418 3
|
6月前
|
缓存 资源调度 JavaScript
秒懂Yarn:从安装到配置的全流程详解
**Yarn**是Facebook推出的JavaScript包管理器,旨在提供更快、更安全的依赖管理。它通过并行安装、离线模式、版本锁定和友好的命令行界面提升效率。要安装Yarn,可以使用npm、Homebrew或Chocolatey。基本命令包括初始化项目(`yarn init`)、安装/移除/升级依赖(`yarn add/remove/upgrade`)。配置Yarn涉及设置`.yarnrc`文件,如更改registry。通过`yarn.lock`文件保证依赖一致性。文章还提供了使用Yarn进行API测试和项目管理的实战案例。
271 0
|
7月前
|
资源调度 JavaScript iOS开发
yarn的安装与配置(Windows/macOS)
yarn的安装与配置(Windows/macOS)
720 0
|
7月前
|
资源调度 Linux iOS开发
yarn的安装和使用
yarn的安装和使用
462 0
|
7月前
|
缓存 资源调度 JavaScript
yarn安装和使用及与npm的区别
yarn安装和使用及与npm的区别
115 0
|
4月前
|
资源调度 分布式计算 Hadoop
YARN(Hadoop操作系统)的架构
本文详细解释了YARN(Hadoop操作系统)的架构,包括其主要组件如ResourceManager、NodeManager和ApplicationMaster的作用以及它们如何协同工作来管理Hadoop集群中的资源和调度作业。
183 3
YARN(Hadoop操作系统)的架构

相关实验场景

更多