-
yarn的安装和使用
2018-08-02 10:45:41yarn的简介: Yarn是facebook发布的一款取代npm的包管理工具。 yarn的特点: 速度超快。 Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。...yarn的简介:
Yarn是facebook发布的一款取代npm的包管理工具。
yarn的特点:
- 速度超快。
- Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。
- 超级安全。
- 在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。
- 超级可靠。
- 使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。
yarn的安装:
- 下载node.js,使用npm安装
npm install -g yarn
查看版本:yarn --version
- 安装node.js,下载yarn的安装程序:
提供一个.msi文件,在运行时将引导您在Windows上安装Yarn - Yarn 淘宝源安装,分别复制粘贴以下代码行到黑窗口运行即可
yarn config set registryhttps://registry.npm.taobao.org -g
yarn config set sass_binary_sitehttp://cdn.npm.taobao.org/dist/node-sass -g
yarn的常用命令:
-
安装yarn
npm install -g yarn
-
安装成功后,查看版本号:
yarn --version
-
创建文件夹 yarn
md yarn
-
进入yarn文件夹
cd yarn
-
初始化项目
yarn init // 同npm init,执行输入信息后,会生成package.json文件
-
yarn的配置项:
yarn config list // 显示所有配置项
yarn config get <key> //显示某配置项
yarn config delete <key> //删除某配置项
yarn config set <key> <value> [-g|--global] //设置配置项
-
安装包:
yarn install //安装package.json里所有包,并将包及它的所有依赖项保存进yarn.lock
yarn install --flat //安装一个包的单一版本
yarn install --force //强制重新下载所有包
yarn install --production //只安装dependencies里的包
yarn install --no-lockfile //不读取或生成yarn.lock
yarn install --pure-lockfile //不生成yarn.lock
-
添加包(会更新package.json和yarn.lock):
yarn add [package] // 在当前的项目中添加一个依赖包,会自动更新到package.json和yarn.lock文件中
yarn add [package]@[version] // 安装指定版本,这里指的是主要版本,如果需要精确到小版本,使用-E参数
yarn add [package]@[tag] // 安装某个tag(比如beta,next或者latest)
//不指定依赖类型默认安装到dependencies里,你也可以指定依赖类型:
yarn add --dev/-D // 加到 devDependencies
yarn add --peer/-P // 加到 peerDependencies
yarn add --optional/-O // 加到 optionalDependencies
//默认安装包的主要版本里的最新版本,下面两个命令可以指定版本:
yarn add --exact/-E // 安装包的精确版本。例如yarn add foo@1.2.3会接受1.9.1版,但是yarn add foo@1.2.3 --exact只会接受1.2.3版
yarn add --tilde/-T // 安装包的次要版本里的最新版。例如yarn add foo@1.2.3 --tilde会接受1.2.9,但不接受1.3.0
-
发布包
yarn publish
-
移除一个包
yarn remove <packageName>:移除一个包,会自动更新package.json和yarn.lock
-
更新一个依赖
yarn upgrade 用于更新包到基于规范范围的最新版本
-
运行脚本
yarn run 用来执行在 package.json 中 scripts 属性下定义的脚本
-
显示某个包的信息
yarn info <packageName> 可以用来查看某个模块的最新版本信息
-
缓存
yarn cache
yarn cache list # 列出已缓存的每个包 yarn cache dir # 返回 全局缓存位置 yarn cache clean # 清除缓存
npm 与 yarn命令比较:
npm 与 yarn相关问题比较:
npm模块的依赖:
- npm存在一些历史遗留问题,请看下图:
比如说你的项目模块依赖是图中描述的,@1.2.1代表这个模块的版本。在你安装A的时候需要安装依赖C和D,很多依赖不会指定版本号,默认会安装最新的版本,这样就会出现问题:比如今天安装模块的时候C和D是某一个版本,而当以后C、D更新的时候,再次安装模块就会安装C和D的最新版本,如果新的版本无法兼容你的项目,你的程序可能就会出BUG,甚至无法运行。这就是npm的弊端,而yarn为了解决这个问题推出了yarn.lock的机制,这是作者项目中的yarn.lock文件。
yarn.lock文件格式:
大家会看到,这个文件已经把依赖模块的版本号全部锁定,当你执行yarn install的时候,yarn会读取这个文件获得依赖的版本号,然后依照这个版本号去安装对应的依赖模块,这样依赖就会被锁定,以后再也不用担心版本号的问题了。其他人或者其他环境下使用的时候,把这个yarn.lock拷贝到相应的环境项目下再安装即可。
注意:这个文件不要手动修改它,当你使用一些操作如yarn add时,yarn会自动更新yarn.lock。使用yrm工具管理一些npm源
安装
yarn global add yrm
查看可用源
yrm ls
选择源
yrm use yarn
快速删除node_modules
手动删除真的很慢:
- 安装:
npm install rimraf -g
- 使用:
rimraf node_modules
rimraf是node的一个包,可以快速删除node_modules,再也不用等半天了
- 速度超快。
-
yarn
2019-10-12 13:40:14yarn add :在当前目录安装 yarn install :根据package.json安装包 yarn global add :安装到全局 yarn remove : 卸载 yarn cache clean :清除缓存。 yarn config set global-folder ‘目标路径’:修改yarn全局安装包...yarn add :在当前目录安装
yarn install :根据package.json安装包
yarn global add :安装到全局
yarn remove : 卸载
yarn cache clean :清除缓存。
yarn config set global-folder ‘目标路径’:修改yarn全局安装包下载位置
yarn global bin 查看是否修改成功
yarn config set cache-folder ‘目标路径’:修改yarn全局安装包缓存位置
yarn global dir查看是否修改成功 -
YARN
2020-02-18 17:55:24YARN 是 分布式资源管理系统 架构图 a.png #组件组成: Client, ResourceManager, ApplicationMaster, NodeManager, Container #各组件描述: Client: 负责提交应用程序 ResourceManager: 全局的资源管理器...YARN 是 分布式资源管理系统
架构图
a.png
#组件组成: Client, ResourceManager, ApplicationMaster, NodeManager, Container #各组件描述: Client: 负责提交应用程序 ResourceManager: 全局的资源管理器, 整个集群只有一个, 负责集群资源的统一管理和调度分配; The ResourceManager has two main components: Scheduler and ApplicationsManager. 1、调度器:调度器根据容量、队列等限制条件(如每个队列分配一定的资源,最多执行一定数量的作业等),将系统中的资源分配给各个正在运行的应用程序中,需要注意的是,该调度器是一个”纯调度器”,它不再从事任何与具有应用程序相关的工作,比如不负责监控或者跟踪应用的执行状态等,也不负责重新启动因应用程序失败或者硬件故障而产生的失败任务,这些均交由应用程序相关的ApplicationMaster完成,调度器仅根据各个应用程序的资源需求进行资源分配,而资源分配单位用一个抽象概念”资源容器”(resource container,简称container)表示,container是一个动态资源分配单位,它将内存、cpu、磁盘、网络等资源封装在一起,从而限定每个任务使用的资源量,此外该调度器是一个可插拔的组件,用户可根据自己的需要设计新的调度器,YARN提供多种直接可用的调度器,比如 fair scheduler和capacity scheduler等 2、应用程序管理器 应用程序管理器负责管理整个系统中所有应用程序,包括应用程序提交、与调度器协商资源以启动ApplicationMaster、监控ApplicationMaster运行状态并在失败时重启它等 功能: 1. 处理客户端请求 2. 启动/监控 ApplicationMaster 3. 监控NodeManager 4. 资源分配和调度 ApplicationMaster: 在yarn上运行的应用程序实例对象,负责管理此应用程序的执行; 功能: 1. 数据切分 2. 为应用程序申请资源, 和进一步分配 3. 任务监控和容错处理 NodeManager: 整个集群有多个, 负责本节点的资源管理和使用, NodeManager管理抽象容器container 功能: 1. 单个节点上的资源管理和任务管理 2. 处理来自 ResourceManager 的命令 3. 处理来自 ApplicationMaster 的命令 Container: yarn中对资源的抽象, 封装本节点上的内存,cpu,磁盘,网络等资源, 此资源就是用container表示;
yarn工作流程
b.png
#yarn工作流程 1. client端向ResourceManager提交应用程序, 也就是client端会将 jar包,参数等数据上传到hdfs上的某路径下; 2. resourceManager将此应用程序添加到任务队列中; 3. 等待资源充沛时, resourceManager为该应用程序分配第一个container,在这个container中启动应用程序的ApplicationMaster; 4. ApplicationMaster首先向ResourceManager注册,用户可以直接通过ResourceManager查看应用程序的运行状态, 还会进行分片等工作, 之后向ResourceManager申请运行任务所需的资源; 5. ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请和领取资源, 发送命令让NodeManager创建container, 之后执行task; 6. ApplicationMaster监控job执行作业, 必要时候进行容错处理, 直到ApplicationMaster检测到job完成后, 向ResourceManager通知, 注销自己
-
yarn详细入门教程
2018-01-31 11:51:47Yarn 是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具。就像我们可以从官方文档了解那样,它的目的是解决这些团队使用 npm 面临的少数问题,即: 1.安装的时候无法保证速度/一致性 2...简介
Yarn 是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具。就像我们可以从官方文档了解那样,它的目的是解决这些团队使用 npm 面临的少数问题,即:
- 安装的时候无法保证速度/一致性
- 安全问题,因为 npm 安装时允许运行代码
Yarn 同样是一个从 npm 注册源获取模块的新的 CLI 客户端。注册的方式不会有任何变化 —— 你同样可以正常获取与发布包。
一、安装
1.进入官方下载页面安装
2.最简单的方法是运行:
npm install -g yarn
现在的yarn安装页面是这么说的:
注意:通常情况下不建议通过npm进行安装。npm安装是非确定性的,程序包没有签名,并且npm除了做了基本的SHA1哈希之外不执行任何完整性检查,这给安装系统程序带来了安全风险。
基于这些原因,强烈建议你通过最适合于你的操作系统的安装方法来安装yarn。
以这种速度发展下去的话,如果yarn要宣布他们自己的registry,让开发者慢慢淘汰npm的话,我们一点都不会感到惊讶。
安装成功后即可查看版本:
yarn --version
二、初始化
进入项目目录下并执行 yarn init
yarn init
会在根目录下生成一个package.json,与npm类似具体不做解释,如下
三、添加依赖
1. 添加包:yarn add [pkg-name] ,会自动安装最新版本,会覆盖指定版本号
举例添加 jquery :
yarn add jquery
node_modules下会生成 jquery 文件夹,里面便是 yarn 生成的依赖
2. 一次性添加多个包:yarn add [pkg-name1] [pkg-name2]
举例添加 bootstrap 和 zepto:
yarn add bootstrap zepto
成功后如下
3. 添加指定版本的包:yarn add [pkg-name]@ver
举例添加 2.1.4版本的jquery:
yarn add jquery@2.1.4
成功后如下
4. 将包更新到指定版本:yarn upgrade [pkg-name]@ver
举例将 jquery从2.1.4更新到3.0.0版本:
yarn upgrade jquery@3.0.0
成功后如下
5. 将包更新到最新版本:yarn upgrade --latest [pkg-name]
举例将3.0.0版本的 jquery更新到最新版本:
yarn upgrade --latest jquery
成功后如下
6. 删除包:yarn remove [pkg-name]
举例删除 jquery:
yarn remove jquery
成功后如下
7. 一次删除多个包:yarn remove [pkg-name1] [pkg-name2]
举例删除 bootstrap 和 zepto:
yarn remove bootstrap zepto
四、yarn.lock 自动锁定安装包版本
Npm 有一个名为 shrinkwrap 的特性,其目的是在生产环境中使用时锁定包依赖。shrinkwrap 的挑战是每个开发者都必须手动运行 npm shrinkwrap 生成 npm-shrinkwrap.json 文件。
使用 Yarn,则截然不同。在安装过程中,会自动生成一个 yarn.lock 文件,yarn.lock 会记录你安装的所有大大小小的。有点类似 PHP 开发者们所熟悉的 composer.lock。yarn.lock 锁定了安装包的精确版本以及所有依赖项,只要你不删除 yarn.lock 文件,再次运行 yarn install 时,会根据其中记录的版本号获取所有依赖包。有了这个文件,你可以确定项目团队的每个成员都安装了精确的软件包版本,部署可以轻松地重现,且没有意外的 bug。你可以把 yarn.lock 提交到本库里,这样其他签出代码并运行 yarn install 时,可以保证大家安装的依赖都是完全一致的。
例如上面安装的bootstrap、jquery和zepto会在yarn.lock中有记录,如下图:
这里新建一个
yarn_demo2
的文件夹,并将package.json
和yarn.lock
文件从yarn_demo
文件夹中复制过来,如下图:进入
yarn_demo2
文件夹 执行yarn
命令,即可一键下载yarn.lock
中记录的依赖包,相当方便快捷,值得你拥有~五、yarn和npm命令对比
至于bower与npm,其用法也是大同小异,但大佬给出的建议是:
end ~ -
Yarn ResourceManager GC overhead limit exceeded
2020-09-07 15:35:17Yarn ResourceManager GC overhead limit exceeded 问题 FATAL yarn.YarnUncaughtExceptionHandler (YarnUncaughtExceptionHandler.java:uncaughtException(51)) - Thread Thread[Timer for 'ResourceManager' ... -
npm和yarn的区别和对比
2019-06-28 10:55:09最近在学习得过程中接触到了yarn , 是一个包管理工具,用来替代npm . 下面来总结一下: yarn有以下3个优点 : 安装速度快 (服务器速度快 , 并且是并行下载) 版本锁定 缓存机制 Yarn语法 npm init ---- yarn init npm ... -
Yarn 安装与使用详细介绍
2018-08-24 12:13:34什么是 Yarn 速度快 离线模式 可靠可确定性 网络优化 扁平化模式 版本控制 其他关于 Yarn 的介绍 Yarn 安装 windows mac 方式一 方式二 Yarn 换源 背景 在 Node 生态系统中,依赖通常安装在项目的 node_... -
npm 和 yarn 缓存清理
2019-05-30 11:30:03npm cache clean --force yarn cache clea -
Yarn 简介
2020-04-17 11:31:151. 什么是Yarn ? Yarn -- 通用资源管理系统和调度平台 2. Yarn 特点 1、支持多计算框架 2、资源利用率高,运行成本低,数据共享。 Yarn资源管理只包括内存与CPU,Yarn回去汇总集群内所有节点上的CPU总和数,和内存... -
卸载 yarn
2018-07-06 17:02:37如果不想使用yarn , 可通过 命令: $ yarn global bin 查询到存放地址之后 到对应目录删除掉yarn就可以了 -
Yarn knowledge
2020-03-31 09:43:031、什么是Yarn 通用资源管理系统和调度平台 2、Yarn特点: 支持多计算框架 资源利用率高,运行成本低,数据共享。 3、Yarn的意义: 降低了企业硬件的成本(多个集群变成一个集群),减少了资源的了浪费,运营... -
【Yarn】Yarn 命令详解
2020-09-21 21:43:51安装依赖包:yarn == yarn install 添加依赖包:yarn add 配置淘宝镜像:yarn config set registry “https://registry.npm.taobao.org” 2.yarn命令列表 命令操作参数标签 yarn add 添加依赖包 包名 --dev/-D ... -
yarn 命令行
2019-08-15 18:40:26yarn 命令行 -
卸载yarn
2019-10-09 10:07:53新建react项目一直报 yarn的错误,所以想把yarn卸载掉 终于找到一个方法 npm uninstall -g yarn 操作步骤 1、2、 3、 yarn就被卸载了。 参考https://segmentfault.com/q/1010000015403819 ... -
spark on yarn部署模式——yarn-client和yarn-cluster
2018-06-03 15:36:42一、yarn-cluster 与standalone模式不同,yarn-cluster是基于yarn集群,yarn集群上有ResourceManager(RM)和NodeManager(NM)。 1、发送请求到RM,请求启动AM 2、RM会分配container,在某个NM上启动AM 3、AM... -
Yarn权限
2020-09-04 10:39:21一、yarn漏洞 1、黑客注入脚本,以hadoop-yarn用户疯狂提交 2、署名用户为yarn的进程疯狂占用CPU,整个集群CPU跑慢 处理: 1、先收回\tmp目录的执行权限(为解燃眉之急,这一步是最快的,可以快速让环境恢复正常的... -
yarn 升级指令
2018-11-16 14:24:20yarn 升级最新版本 npm install yarn@latest -g 查看yarn历史版本 npm view yarn versions --json yarn 升级指定版本(例:升级到1.21.3版本) yarn upgrade v1.21.3
-
Python 学习DAY1
-
转行做IT-第9章 常用类-Scanner、Random等
-
java面试实用.pdf
-
2021-01-28
-
MySQL备份、恢复与日志管理,简单化管理MySQL
-
4天玩转JVM训练营
-
真棒硬币:cry致冷币及其算法的指南(人类!)-源码
-
JavaScript中的深浅拷贝
-
biko:CLI工具可直接跳至浏览器-源码
-
仿真钢琴-javascript实战
-
visual c++ vc给windows任务管理器添加一个菜单项.zip
-
21年新消息队列RabbitMQ视频教程AMQP教程
-
学习记录:mysql创建存储过程、定时器示例
-
子查询经典案例题目.pdf
-
内部管理系统Spring boot/Spring MVC/Mybati
-
海思3531音频调试.docx
-
抢红包老司机给你传授秘技,python软件秒抢微信红包
-
JavaWeb开发常用工具类
-
飞凌5G智能网关3.0-FCU2303基于NXP LS1046A设计,正式发布!
-
Java电商秒杀系统及其优化(二)