yarn简单操作指南

yarn官网直接有中文文档,上手还是非常方便的。
官网地址:https://yarnpkg.com/zh-Hans/

yarn的诞生背景

node.js实现了模块化加载组件,让组件化开发得以推广,相应的也带动了第三方包的大量运用。官方为了开发者更好的管理包文件,推出了npm包管理工具。
这种开发方式实在诱人,于是这种方式从后端蔓延到前端,npm包也横跨前后端,包和包之间也相互依赖,管理起来越发繁杂和沉重。
在这种环境下,yarn横空出世。

安装

下载文件直接点击安装即可。
https://yarnpkg.com/zh-Hans/docs/getting-started
安装完毕运行以下代码查看版本

yarn --version

返回版本号即表示安装成功。

yarn常用命令

yarn init         // 初始化包;
yarn install     // 安装`package.json` 文件里定义的所有依赖包;
yarn add 要装的包文件名        // 安装一个依赖包;
yarn global add 要装的包文件名    // 全局安装
yarn serve   // 本地跑测试
yarn build    // 编译发布文件

yarn remove  // 从当前包里移除一个未使用的包。
yarn publish  // 发布一个包到包管理器;
  • 初始化新项目
yarn init
  • 添加依赖包
yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]
// 举例子
yarn add less
yarn add less@2.1.1
yarn add less@firstjob
  • 将依赖项添加到不同依赖项类别
    分别添加到 devDependencies、peerDependencies 和 optionalDependencies:
yarn add [package] --dev
yarn add [package] --peer
yarn add [package] --optional
  • 升级依赖包
yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]
  • 移除依赖包
yarn remove [package]
  • 安装项目的全部依赖
yarn

或者

yarn install

devDependencies、peerDependencies 和 optionalDependencies 的区别

  • dependencies 依赖包
  • peer-dependencies 同等的依赖包
  • develop-dependencies 开发依赖包
  • optional-dependencies 可选择的依赖包

dependencies

这是所谓的常规依赖,确切地说,是代码运行时所需要的(比如 React 和 immutableJS)。

yarn add package

devdependencies

这是开发依赖,就是那些只在开发过程中需要,而运行时不需要的依赖(比如 Babel 和 Flow)。

yarn add [package] --dev

peerDependencies

这是“同伴依赖”,一种特殊的依赖,在发布包的时候需要。
有这种依赖意味着安装包的用户也需要和包同样的依赖。 这对于像 react 这样也被人安装的、需要单一 react-dom 副本的包很有用。

yarn add [package] --peer

optionalDependencies

这是可选依赖,意味着依赖是……可选的。这种依赖即便安装失败,Yarn也会认为整个依赖安装过程是成功的。
这种类型适用于那些即便没有成功安装可选依赖,也有后备方案的情况(比如 Watchman)。

yarn add [package] --optional

bundledDependencies

这是“打包依赖”,在发布包时,这个数组里的包都会被打包(Bundle)。
这种类型的依赖应该在项目内部使用,基本上和普通依赖相同。执行 yarn pack 同样会进行打包。
普通依赖通常从 npm registry 安装,这些情况下,打包依赖比普通依赖更好用:

  • 当你想使用一个不在 npm registry 里的,或者被修改过的第三方库时;
  • 当你想把自己的项目作为模块来重用时;
  • 当你想和你的模块一起发布一些文件时。

yarn自身版本升级

软件总是新的好,yarn每过一段时间就会发布新版本,我们也要时长对它进行更新。流程如下:
// 查看当前yarn的最新版本
npm view yarn version
//升级它
npm install yarn@1.xx.x -g

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,753评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,668评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,090评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,010评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,054评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,806评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,484评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,380评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,873评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,021评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,158评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,838评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,499评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,044评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,159评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,449评论 3 374
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,136评论 2 356