Skip to content

Yarn 使用手册 #142

@coconilu

Description

@coconilu

概述

据官方文档描述,Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具,为了解决NPM在一致性、安全性、性能方面的问题。

Yarn有下面几个方面的优势:

  1. 速度超快。Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。
  2. 超级安全。在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。
  3. 超级可靠。使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。
  4. 一致性。为了防止拉取到不同的版本,Yarn 有一个锁定文件 (lock file) 记录了被确切安装上的模块的版本号。每次只要新增了一个模块,Yarn 就会创建(或更新)yarn.lock 这个文件。

指令

  1. 初始化
yarn init
  1. 添加依赖包
yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]

yarn add [package] --dev,添加到devDependencies
yarn add [package] --peer,添加到peerDependencies
yarn add [package] --optional,添加到optionalDependencies
  1. 升级依赖包
yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]
  1. 移除依赖包
yarn remove [package]
  1. 安装项目的全部依赖
yarn
或
yarn install

Yarn 工作流

  1. 创建一个新项目
  2. 增加/更新/删除依赖
  3. 安装/重装依赖。Yarn会从package.json中读取依赖,并将依赖信息存储到yarn.lock中。
  4. 引入版本控制系统(例如 git)。为了别人能使用你的包,以下文件必须被提交进版本控制系统:package.jsonyarn.lock
  5. 持续集成

Yarn 指令

飞机票

关键概念

package.json 和 yarn.lock

所以依赖都在 package.json 文件里声明,包含开发依赖、运行依赖、可选依赖等。 每个依赖都需要指明依赖名称和最低可用版本。

yarn.lock 里保存了每个依赖的安装版本,这可以确保你的包每次安装的一致性。

依赖类型

  1. dependencies,这是所谓的常规依赖,确切地说,是代码运行时所需要的。
  2. devDependencies,这是开发依赖,就是那些只在开发过程中需要,而运行时不需要的依赖。
  3. peerDependencies,这是“同伴依赖”,一种特殊的依赖,意味着安装包的用户也需要和包同样的依赖。
  4. optionalDependencies,这是“可选依赖”,意味着依赖是……可选的。这种依赖即便安装失败,Yarn也会认为整个依赖安装过程是成功的。
  5. bundledDependencies,这是“捆绑依赖”,在发布包时,这个数组里的包都会被捆绑打包(Bundle)。

工作区

工作区是设置你的软件包体系结构的一种新方式,使用这种方式安装多个软件包, 就是只需要运行一次 yarn install 便可将所有依赖包全部安装。

参考

Yarn: A new package manager for JavaScript
Yarn 官网
Yarn CLI
npm和yarn的区别,我们该如何选择?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions