yarn的学习-1-包管理工具
https://yarn.bootcss.com
使用yarn的原因:
1.速度超快
Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。
2.超级安全
在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。
3.超级可靠
使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。
特点:
1.离线模式
如果你以前安装过某个包,再次安装时可以在没有任何互联网连接的情况下进行。
2.确定性
不管安装顺序如何,相同的依赖关系将在每台机器上以相同的方式安装。
3.网络性能
Yarn 有效地对请求进行排队处理,避免发起的请求如瀑布般倾泻,以便最大限度地利用网络资源。
4.相同的软件包
从 npm 安装软件包并保持相同的包管理流程。
5.网络弹性
重试机制确保单个请求失败并不会导致整个安装失败。
6.扁平模式
将依赖包的不同版本归结为单个版本,以避免创建多个副本。
开始学习
Yarn 对你的代码来说是一个包管理器, 你可以通过它使用全世界开发者的代码, 或者分享自己的代码。Yarn 做这些快捷、安全、可靠,所以你不用担心什么。
通过Yarn你可以使用其他开发者针对不同问题的解决方案,使自己的开发过程更简单。 使用过程中遇到问题,你可以将其上报或者贡献解决方案。一旦问题被修复, Yarn会更新保持同步。
代码通过 包(package) (或者称为 模块(module)) 的方式来共享。
一个包里包含所有需要共享的代码,以及描述包信息的文件,称为 package.json 。
安装:
最开始的yarn公告是这么介绍yarn的安装的:
*最简单的入门方法是运行:
npm install -g yarn
yarn*
现在的yarn安装页面是这么说的:
注意:通常情况下不建议通过npm进行安装。npm安装是非确定性的,程序包没有签名,并且npm除了做了基本的SHA1哈希之外不执行任何完整性检查,这给安装系统程序带来了安全风险。
基于这些原因,强烈建议你通过最适合于你的操作系统的安装方法来安装yarn。
因为我之前安装过Homebrew,所以安装方式为:
brew install yarn
还有更多的安装方式看:https://yarn.bootcss.com/docs/install/#mac-stable
升级 Yarn
有新版时,Yarn 会给你提示。 如需升级 Yarn ,仍然可以通过 Homebrew 来升级。
brew upgrade yarn
测试:
通过如下命令测试 Yarn 是否安装成功:
yarn --version
我下载的版本是1.12.3
使用:
现在 Yarn 已经 安装完毕,可以开始使用了。 以下是一些你需要的最常用的命令:
初始化一个新项目,生成package.json文档
yarn init
//等价于npm的npm init
相关的更多与npm的等价内容,看yarn的学习-2-从 npm 迁移到 yarn-包管理工具
添加依赖包
yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]
//等价于npm的
//npm install [package]
//npm install [package]@[version]
//npm install [package]@[tag]
将依赖项添加到不同依赖项类别中
分别添加到 devDependencies、peerDependencies 和 optionalDependencies类别中:
yarn add [package] --dev
yarn add [package] --peer
yarn add [package] --optional
yarn add [package]则是添加到dependencies类中
升级依赖包
yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]
移除依赖包
yarn remove [package]
//等价于npm uninstall [package]
安装项目的全部依赖,安装package.json中的包
yarn
或者
yarn install
//等价于npm install
Yarn 工作流
将包管理器引入到项目中会引入一个围绕依赖关系的新工作流。
Yarn 尽最大努力不让你感知它的存在,并让工作流中的每一步都易于理解。
关于基本工作流程,您应该了解以下几点:
- 创建一个新项目
- 添加/更新/删除依赖项
- 安装/重新安装依赖项
- 使用版本管理工具(例如 git)
- 持续集成
1.创建一个新项目
即使用yarn init,生成package.json
2.添加/更新/删除依赖项
即调用yarn add/update/remove [package]
用以下载包并会自动改变package.json和yarn.lock中的包内容
3.安装/重新安装依赖项
即调用yarn install
它用以安装项目的依赖。这些依赖能够通过检索项目的package.json文档获得并存储在yarn.lock文件中
Installing Options
There are many options for installing dependencies, including:
- Installing all dependencies:
yarnoryarn install,安装所有包 - Installing one and only one version of a package:
yarn install --flat,安装一个且只有一个版本的包 - Forcing a re-download of all packages:
yarn install --force,强迫性地重新安装所有包 - Installing only production dependencies:
yarn install --production,只安装有生产的依赖关系的包
4.与版本管理工具(例如 git)协同工作
Required Files
The following files must be checked into source control for anyone to be able to manage your package:
package.json: This has all the current dependencies for your package.包含目前所有包的依赖yarn.lock: This stores the exact versions of each dependency for your package.存储了包的依赖的确切版本- The actual source code that provides the functionality for your package.以及提供包功能的实际源代码
5.持续集成
自己看https://yarn.bootcss.com/docs/install-ci/
如果想要了解更多的命令行的内容,去看其CLI 简介:
https://yarn.bootcss.com/docs/cli/add/
yarn的学习-1-包管理工具的更多相关文章
- node的包管理工具:yarn和npm
arn是Facebook发布的一款依赖管理工具,它比npm更快.更高效. NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题. 一.yarn官方网站: 英文官网:ht ...
- 前端包管理工具 yarn
yarn 是一个 与 npm 类似的 前端包管理工具 安装 windows 要去官网下载 (一定要去官网下载 .mis 文件进行安装) 用npm 或者 cnpm 也能安装 但是这种安装 有缺 ...
- 包管理工具-yarn
今天知道了一个新的包管理工具叫yarn,总结如下: 如果你知道npm的使用过程,那么yarn你就觉着相见恨晚呐...... npm存在的问题: >安装的时候无法保证速度的一致性 >安全问题 ...
- python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑
python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件?当我们点开下载页时, 一般 ...
- Python学习笔记(十二)—Python3中pip包管理工具的安装【转】
本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...
- Yarn 包管理工具
已经安装的 yarn add vue vue@2.2.5 yarn add element-ui -S yarn add bootstrap@4.0.0-alpha.6 --save yarn ...
- 主流包管理工具npm、yarn、cnpm、pnpm之间的区别与联系——原理篇
接触 node 之后,一直使用npm包管理工具, cnpm 一开始会用一些,但是并没有觉得比 npm 快得多,使用 cnpm 的时候还经常安装不成功,只能再用 npm 安装一遍,渐渐的就弃用了 cnp ...
- 包管理工具(npm、yarn)
npm包管理工具 1. npm的包安装分为本地安装(local).全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已. 2. 这两种安装方式的区别: 本地安装(安装在命令行运行所在 ...
- npm 和 yarn 前端包管理工具
前言 前端开发逐渐工程化,npm作为我们的依赖管理工具起到十分重要的作用,本文就来总结一下 npm 和 yarn 相关知识点. 正文 1.什么是npm (1)node的包管理器(node packag ...
- Golang学习--包管理工具glide
上一篇文章中我们已经成功的运行了go的代码,这是我们迈出的最基础的一步. 一个项目通常会依赖很多外部的库,当依赖的库比较多的时候,手工管理就会比较麻烦,这个时候就需要包管理工具出场了,帮你管理好所有依 ...
随机推荐
- eclipse连接VisualSVN Server
1.下载安装VisualSVN Server 2.修改资源库的网络连接.去掉默认的选中,修改端口,点击ok. 3.新建资源库Test,显示连接的地址http://svnybb/svn/Test/ .之 ...
- 了解java虚拟机---JVM的基本结构(1)
1. JVM的基本结构 1.1. 类加载子系统 类加载子系统负责从文件或者网络中加载Class信息,加载的类信息存放于方法区的内存空间.方法区中可能还会存放运行时常量信息,包括字符串与数字常量.(这部 ...
- git 问题解决办法
1.撤销 add 添加:git rm -r --cached . (参考:https://www.cnblogs.com/wuchanming/p/5428897.html) 2.撤销 commit ...
- linux_shell_数组
shell数组类似与C语言,数组下标由0开始编号.想要获取数组中的元素要利用下标. 1.首先定义数组 在shell中,用括号来表示数组,数组元素用“空格”符号分割开.列: name=("d& ...
- 鼠标滚轮更改transform的值(vue-scroller在PC端的上下滑动)
目前上拉刷新,下拉加载,以及区域回弹的组件,绝大多数都是通过transform去实现的.在移动端效果很好,但是PC端使用鼠标拖拽的方式,查看下文首先不符合逻辑,其次容易点进其他页面. 起初,项目的初衷 ...
- 转:PHPStorm+XDebug进行调试图文教程
原文:PHPStorm+XDebug进行调试图文教程 一.XDebug安装配置 (1)下载XDebug下载地址:http://www.xdebug.org/必须下载跟机器上安装的php匹配的版本才行. ...
- CSS中的三种常用定位
一.相对定位(position:relative) 如果想让一个元素在本来的位置进行一个位移,可以将该元素的定位设置为relative,同时指定相对位移(利用top,bottom,left,right ...
- memset初始化数组的问题
今天才搞清楚,memset用于初始化数组,仅能初始化为0值,而不能初始化一个特定的值,这怎么能模糊了呢??? 因此,如果对申请的一段存放数组的内存进行初始化,每个数组元素均初始化为特定的值,必须使用循 ...
- WOSA/XFS PTR Form解析库—头文件
class AFX_EX_CLASS CNuXfsForm {public: CNuXfsForm(); ~CNuXfsForm(); /******************************* ...
- seq 序列
seq 序列用法: seq [option]...last seq [option]...first last seq [option]...first increment last 例如:seq 5 ...