官网https://yarnpkg.com/zh-Hans/docs/installing-dependencies

简介:包管理工具,和npm类似
主要特点:快速、安全、可靠
  快速:本地安装包后,会进行缓存,下次再安装时,直接从缓存中取,不需要再请求网络
  安全:通过相关机制,在安装之前,会检查包的完整性,保证包的完整性
  可靠:通过维护yarn.lock文件,记录包及依赖的确切版本信息,保证同一项目在不同操作系统上得到的包的版本是一致的

安装:可以直接通过npm安装
  npm install yarn -g
查看
  查看版本:yarn -v
  查看命令:yarn -h
  查看参数:yarn help COMMAND

初始化一个工程及安装包
  yarn init
  随后和npm一样,需要回答一些相关信息,init之后,会生成一个package.json 文件
  ls  //查看
  安装(添加)包:和npm不一样哦
  yarn add webpack
  安装完成后,安装提示信息更人性化,颜色、icon特别提示
  此时项目下,会自动生成node_moduls目录,及yarn.lock文件
更新包:和npm也不一样呢
  yarn upgrade webpack
  测试离线安装,比如安装webpack的一个依赖tty-browserify,添加参数--offline
  yarn add tty-browserify --offline
查看本地缓存的所有模块:
  yarn cache ls
移除包:
  yarn remove webpack
安装项目的全部依赖:
  yarn 或 yarn install
版本控制(比如git)
  必须包含package.josn 和 yarn.lock 文件,里面包含包的信息

  其它命令:
  cache相关(离线安装包时比较有用):
    yarn cache dir: 返回缓存包在本地的路径
    yarn cache clean: 清除本地缓存,执行后,再yarn cache ls将不会再有包信息
  config相关:
    yarn config list: 列出yarn、npm的相关信息
    yarn config set: 设置yarn相关信息
    比如:设置淘宝镜像
    yarn config set registry registry.npm.taobao.arg
    yarn config list
  info:
    yarn info [package]: 可以查看包的相关信息(包括已安装、未安装)
    比如:yarn info react: 将会列出react的相关信息
  global:
    yarn global add webpack: 全局安装,等同于npm的npm install -g webpack
    不推崇全局,因为不会在package.json中记录包信息,会导致不同系统信息不一致而出错
  why:
    yarn why [package]: 可以查看包为什么会安装该依赖
    比如:安装了webpack,通过yarn cache ls查看缓存包,可以找到uglify-js
    yarn why uglify-js: 可以看到为什么会安装该包的分析
  run:
    yarn run [cli]: 可以执行项目下package.json中设置的命令
    比如:在项目的package.json中添加script属性,编写linux命令:
    package.json   

{
"name": "yarn-project",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"dependencies": {
"tty-browserify": "^0.0.0",
"webpack": "^2.5.1"
},
"scripts": {
"create-dir": "mkdir demo",
"rm-dir": "rm -rf demo"
}
}

  之后,在命令行中执行:
  yarn run create-dir //会创建demo目录
  ls
  yarn run rm-dir //会删掉demo目录

yarn 学习 小记的更多相关文章

  1. mongodb入门学习小记

    Mongodb 简单入门(个人学习小记) 1.安装并注册成服务:(示例) E:\DevTools\mongodb3.2.6\bin>mongod.exe --bind_ip 127.0.0.1 ...

  2. javascript学习小记(一)

    大四了,课少了许多,突然之间就不知道学什么啦.整天在宿舍混着日子,很想学习就是感觉没有一点头绪,昨天看了电影激战.这种纠结的情绪让我都有点喘不上气啦!一点要找点事情干了,所以决定找个东西开始学习.那就 ...

  3. js 正则学习小记之匹配字符串

    原文:js 正则学习小记之匹配字符串 今天看了第5章几个例子,有点收获,记录下来当作回顾也当作分享. 关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配.(因为我想学完之后写个语法高 ...

  4. js 正则学习小记之左最长规则

    原文:js 正则学习小记之左最长规则 昨天我在判断正则引擎用到的方法是用 /nfa|nfa not/ 去匹配 "nfa not",得到的结果是 'nfa'.其实我们的本意是想得到整 ...

  5. js 正则学习小记之NFA引擎

    原文:js 正则学习小记之NFA引擎 之前一直认为自己正则还不错,在看 次碳酸钴,Barret Lee 等大神都把正则玩的出神入化后发现我只是个战五渣.  求抱大腿,求大神调教. 之前大致有个印象,正 ...

  6. js 正则学习小记之匹配字符串优化篇

    原文:js 正则学习小记之匹配字符串优化篇 昨天在<js 正则学习小记之匹配字符串>谈到 个字符,除了第一个 个,只有 个转义( 个字符),所以 次,只有 次成功.这 次匹配失败,需要回溯 ...

  7. CSS学习小记

    搜狗主页页面CSS学习小记 1.边框的处理   要形成上图所示的布局效果,即,点选后,导航下面的边框不显示而其他的边框形成平滑的形状.相对于把导航的下面边框取消然后用空白覆盖掉下面搜索栏的边框比较而言 ...

  8. YARN学习总结

    YARN学习总结 前言 YARN(Yet Another Resource Manage,另一种资源协调者)是hadoop-0.23版本引入的的一个新的特性,可以说它是对原有Hadoop Mapred ...

  9. Gcd&Exgcd算法学习小记

    Preface 对于许多数论问题,都需要涉及到Gcd,求解Gcd,常常使用欧几里得算法,以前也只是背下来,没有真正了解并证明过. 对于许多求解问题,可以列出贝祖方程:ax+by=Gcd(a,b),用E ...

随机推荐

  1. python中的函数嵌套

    一.函数嵌套 1.只要遇到了()就是函数的调用.如果没有就不是函数的调用 2.函数的执行顺序 遵循空间作用域,遇到调用才执行 def outer(): def inner(): print(" ...

  2. 2019.02.06 bzoj2187: fraction(类欧几里得)

    传送门 题意简述:多组询问,每次给出a,b,c,da,b,c,da,b,c,d,求满足ab<pq<cd\frac ab<\frac pq<\frac cdba​<qp​& ...

  3. 2018.12.31 bzoj3992: [SDOI2015]序列统计(生成函数+ntt+快速幂)

    传送门 生成函数简单题. 题意:给出一个集合A={a1,a2,...as}A=\{a_1,a_2,...a_s\}A={a1​,a2​,...as​},所有数都在[0,m−1][0,m-1][0,m− ...

  4. 2018.12.17 bzoj1406 : [AHOI2007]密码箱(简单数论)

    传送门 简单数论暴力题. 题目简述:要求求出所有满足x2≡1mod&ThinSpace;&ThinSpace;nx^2\equiv1 \mod nx2≡1modn且0≤x<n0\ ...

  5. 2018.11.24 poj1743Musical Theme(二分答案+后缀数组)

    传送门 代码: 二分答案. 然后对于预处理的heightheightheight数组分成几段. 保证每一段中都是连续的几个heightheightheight并且这些heightheightheigh ...

  6. form表单序列化为json格式数据

    在web开发过程中,经常遇到将form序列化不能格式的字符串提交到后台,下面就介绍怎样将form表单序列化为json字符串. 首先,是扩展的jquery序列化插件,依赖jquery.经测试,这段代码可 ...

  7. noip2017d1t1

    我们知道因为a,b互质,ax+by=n若存在一组解(x0,y0),则(x0+kb,y0-ka)也是一组解,而我们要保证有正整数解的情况下n最大,我们不妨将x0设为最大的负整数-1,考虑最大的y0能为多 ...

  8. day18(javaEE三大组件之一servlet(简介(一)))

    Servlet servlet是小型服务器语言,使用它可以处理前台传递来的信息,servlet进行处理后在响应给前台,其中servlet起到了关键性的作用.前端输入的信息可以持久化的存储在数据库中,并 ...

  9. 构造函数new执行与直接执行的区别

    //创建一个Test构造 function Test(){ // new执行与直接执行 this的不同指向 this.init(); }; // this 指向 Test Test.prototype ...

  10. ScheduledExecutorService的使用

    http://407827531.iteye.com/blog/1329597 ScheduledExecutorService接口 在ExecutorService的基础上,ScheduledExe ...