yarn-新生代NPM

yarn

仅仅一夜,却也是无数个昼夜,FaceBook 开源了 yarn 这个新的 JavaScript 包管理工具,
这个和 Exponent, Google, 以及 Tilde 协作完成的项目。
官网 | Github Repo
yarn涌现的启事 — 处理npm汗青遗留的痛点
亮点

极致的疾速—会缓存已下载过的包,防止反复下载~~~这特征比npm好多了,不必每次都要求下载
离线形式 — 之前下载过的包,能够离线再次装置
平安 — 下载前会搜检署名及包的完整性
牢靠可确定性
保证各平台依靠的一致性
收集优化 — 力图收集资本最大应用化,让资本下载圆满行列实行,防止大批的无用要求,下载失利会自动从新要求,防止悉数装置历程失利
扁平化形式 — 关于不婚配的依靠版本的包建立一个自力的包,防止建立反复的。
下载装置 — 支撑多平台

由于他们的下载包基础都是放在Amazon上的,版本什么也会随时更新,我就不给出零丁版本的下载链接了;
能够自行到下载页面下载,此处只是给出教程 —— 下载传送门

注重:敕令行形式基础三平台一样

window — 一向下一步下一步,如今装置目次什么的,然后翻开cmd输入yarn –version就可以看到版本号。。如图

供应的.msi后缀花样的装置包,条件须要依靠nodejs(也就是说须要先装置nodejs)
这里写图片形貌
Linux — 供应了debian家属的apt-get包管理器装置的另有rhel家属的yum管理器装置的

这里就不装点了,也是在终端实行,,异常简朴。。。
MacOS – 有两种装置形式,一种是下载剧本实行,一种下载压缩包解压。。。后者跟Linux下载编译包一个原理,这里还不须要编码,解压即可运用
在终端实行curl -o- -L https://yarnpkg.com/install.sh | bash ,下载剧本而且实行
同样在终端实行

    cd /opt      #诠释请疏忽,这个是切换到目次
    wget https://yarnpkg.com/latest.tar.gz  #用wget下载tar.gz包
    tar zvxf yarn-*.tar.gz   #解压包
    # Yarn is now in /opt/yarn-[version]/  

小科普: MacOS有BSD的血缘,Linux类UNIX,二者都是类UNIX。。。所以会Linux的小伙伴搞MacOS觉得都差不多,都能速率上手,迥然不同滴

运用教程

跟npm的用法异常相似,且待我细细到来~

三步走

项面前目今初始化 – 切到你的项面前目今,实行yarn init,会在根目次下天生一个package.json
增加依靠装置
完工
敕令诠释

yarn init #初始化package.json – 和npm一致 
这里写图片形貌 
name : 项目名
version : 版本号
description : 项目形貌
entry point : 进口文件
git repository: git项目链接地点
author : 作者
license : 协定
{
  "name": "yarn-demo",
  "version": "1.0.0",
  "description": "This is yarn-demo.",
  "main": "index.js",
  "repository": {
    "url": "....",
    "type": "git"
  },
  "author": "LinQunHe(CRPER)",
  "license": "MIT",
  "dependencies": {
    "jquery": "2.1.4"
  }
}

增加依靠

yarn add [package] — 增加包,会自动装置最新版本,注重会掩盖指定版本号!!!
这里写图片形貌

yarn add [package]@[version] — 带版本号装置
这里写图片形貌

yarn add [package]@[tag] — tag,是指代git上的推送的tag【no release!!】,看图
这里写图片形貌

更新依靠

tips: 预计管理器另有些不完善,不能零丁晋级某个依靠。会提醒error This command doesn’t require any arguments. — 意义就是该敕令不须要任何参数【不带参数】

yarn upgrade [package] — 更新某个包
yarn upgrade [package]@[version] — 指定更新到某个版本
yarn upgrade [package]@[tag] — 指定更新版本到某个标签

以上不能运用, 唯一能用的是在项面前目今实行,yarn upgarde, 会遍历一切依靠,然后悉数更新

这里写图片形貌

移除依靠

yarn remove [package] — 移除某个包
这里写图片形貌
在其他项目启动项目

相似npm,实行npm install;

yarn管理器支撑两种装置一切依靠的敕令:yarn 或许 yarn install

固然,另有一些其他不经常使用的敕令,比方宣布什么的,,详细能够看这里 —- 传送门

总结

yarn管理器有一个很主要的文件须要注重,就是yarn.lock,这个是用来依靠的正确性,疾速牢靠装置的;是实行cli的时刻自动天生的,在项目的根目次下,须要保存!!!!不要编辑它,这是自动天生的

在其他电脑初始化,必需记得把package.json和yarn.lock复制过去,几乎就是秒下载【缓存机制】,如图;

这里写图片形貌

听说npm的开辟者也介入了yarn的开辟。。。这货今后有庖代npm的偏向。。。

    原文作者:codergarden
    原文地址: https://segmentfault.com/a/1190000007200483
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞