yarn 学习总结
发布日期:2021-05-20 04:10:33 浏览次数:18 分类:精选文章

本文共 1688 字,大约阅读时间需要 5 分钟。

yarn 简介

yarn 是由 Facebook、Google、Exponent 和 Tilde 联合推出的一款全新 JS 包管理工具,它依然使用 npm 的 registry,但提供了全新的 CLI 来对包进行管理。yarn 的出现一度导致了 npm 的市场竞争激烈,甚至有传言称 npm 只剩下一个 registry 可用。

yarn 凭借什么横空出世?

yarn诞生是为了解决 npm 存在的一些问题:

  • 依赖目录嵌套层次深:

    • npm 的依赖目录结构深度较大,尤其在 Windows 系统上存在问题。
  • 下载速度慢:

    • 由于依赖目录嵌套,npm 对包的下载只能是串行进行,导致带宽资源未被充分利用。
    • 多次下载相同版本的包。
  • 控制台输出繁杂:

    • 安装依赖时会输出大量详细信息,增加了查看错误的难度。
  • 工程移植问题:

    • npm 的版本依赖定义模糊,可能导致工程移植后依赖版本不一致。
  • yarn �nými一个由扁平目录结构、并行下载、本地缓存、控制台简洁输出、yanr-lock 文件记录依赖等手段,有效解决了上述问题。

    yarn 的优化与创新

    yarn 不仅解决了上述问题,还对以下内容做了优化:

  • 功能强大的命令:

    • 提供了一些新的命令。
    • 既有的命令更加语义化。
  • 本地安装的 CLI:

    • 可以使用 yarn 直接启动。
  • 全局安装移植:

    • 将全局安装目录当作普通工程,生成 package.json 文件,便于移植。
  • yarn 的出现给 npm 带来了巨大压力,npm 在之后的版本(如 npm 6)也进行了全面优化,解决了很多问题,与 yarn 的功能接近甚至在某些方面更优。

    yarn 的核心命令

    下面是 yarn 的一些核心命令说明:

  • 初始化:

    yarn init [--yes / -y]
  • 安装:

    • 添加指定包:
      yarn [global] add package-name [--dev / -D] [--exact / -E]
    • 安装 package.json 中的所有依赖:
      yarn install [--production / -prod]
  • 脚本和本地 CLI:

    • 运行脚本:
      yarn run script-name

      (支持省略 `run``)

    • 运行本地安装的 CLI:
      yarn run cli-name
  • 查询:

    • 查看 bin 目录:
      yarn [global] bin
    • 查询包信息:
      yarn info package-name [子字段]
    • 列举已安装的依赖:
      yarn [global] list [--depth=依赖深度]
  • 更新:

    • 列举需要更新的包:
      yarn outdated
    • 更新包:
      yarn [global] upgrade package-name
  • 卸载:

    • 卸载包:
      yarn remove package-name
  • yarn 的特别礼物

    在终端命令中,yarn 不仅修补了 npm 的命令,还增加了一些全新的命令,这些命令在某些情况下非常实用:

  • yarn check:

    • 使用 yarn check 可以验证 package.json 文件中的依赖记录和 lock 文件是否一致。
    • 这对于防止篡改依赖信息非常有用。
  • yarn audit:

    • 使用 yarn audit 命令可以检查本地安装的包是否存在已知漏洞,表格展示漏洞级别,包括:
      • INFO
      • LOW
      • MODERATE
      • HIGH
      • CRITICAL
  • yarn why:

    • 使用 yarn why package-name 命令,可以在控制台打印出指定包的依赖原因,包括哪些包会用到该包。
  • yarn create:

    • 使用 yarn create 命令来便捷地创建项目,这类似于全局安装脚手架工具后使用全局命令的方式。
    • 举例如:
      yarn create react-app my-app

      这一命令等价于:

      yarn global add create-react-appcreate-react-app my-app
  • 这个工具的最大优势在于其命令的便捷性和灵活性,能够满足开发者在项目和全局环境之间切换的需求。

    上一篇:node的其他包
    下一篇:全网最全面的npm包管理学习

    发表评论

    最新留言

    做的很好,不错不错
    [***.243.131.199]2025年04月16日 14时05分01秒

    关于作者

        喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
    -- 愿君每日到此一游!

    推荐文章

    2023年深信服、奇安信、360等大厂网络安全校招面试真题合集(附答案),让你面试轻松无压力! 2023-01-24
    2024年全国程序员平均薪资排名:同样是程序员,为什么差这么多?零基础到精通,收藏这篇就够了 2023-01-24
    0基础成功转行网络安全工程师,年薪30W+,经验总结都在这(建议收藏) 2023-01-24
    100个电脑常用组合键大全(非常详细)零基础入门到精通,收藏这篇就够了 2023-01-24
    10个程序员可以接私活的平台 2023-01-24
    10个运维拿来就用的 Shell 脚本,用了才知道有多爽,零基础入门到精通,收藏这一篇就够了 2023-01-24
    10条sql语句优化的建议 2023-01-24
    10款最佳免费WiFi黑客工具(附传送门)零基础入门到精通,收藏这一篇就够了 2023-01-24
    15个备受欢迎的嵌入式GUI库,从零基础到精通,收藏这篇就够了! 2023-01-24
    15个程序员常逛的宝藏网站!!从零基础到精通,收藏这篇就够了! 2023-01-24
    2023应届毕业生找不到工作很焦虑怎么办? 2023-01-24
    2023最新版Node.js下载安装及环境配置教程(非常详细)从零基础入门到精通,看完这一篇就够了 2023-01-24
    2024 年需要了解的顶级大数据工具(非常详细)零基础入门到精通,收藏这一篇就够了 2023-01-24
    2024 最新 Kali Linux 定制化魔改,完整版,添加常见60渗透工具,零基础入门到精通,收藏这篇就够了 2023-01-24
    2024大模型行业应用十大典范案例集(非常详细)零基础入门到精通,收藏这一篇就够了 2023-01-24
    2024年全球顶尖杀毒软件,从零基础到精通,收藏这篇就够了! 2023-01-24
    2024年度“金智奖”揭晓:绿盟科技获双项大奖,创新驱动网络安全新高度。从零基础到精通,收藏这篇就够了! 2023-01-24
    2024年最流行的十大开源渗透测试工具 2023-01-24
    2024年网络安全八大前沿趋势,零基础入门到精通,收藏这篇就够了 2023-01-24
    2024年薪酬最高的五个网络安全职位,零基础入门到精通,收藏这一篇就够 2023-01-24