zoukankan      html  css  js  c++  java
  • yarn 学习 小记

    官网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目录

     

  • 相关阅读:
    遇到的两个问题
    项目分析(map复习)
    while小问题
    二级指针
    映射文件实现进程通信
    struct {0}初始化
    用boost共享内存实现进程通信的例子
    mongo二维数组操作
    项目分析(channelid是如果产生的)
    string为什么可以写入共享内存
  • 原文地址:https://www.cnblogs.com/EnSnail/p/6850438.html
Copyright © 2011-2022 走看看