yarn快速上手使用

简介

Yarn 是一个 JS 包依赖管理器。官网:

特点:

  • 快速。每个包都会被缓存,故只会下载一次。并行操作提速安装过程。
  • 安全。使用检验和对每个已安装的包进行完全性检验,之后才会运行。
  • 可靠。相同的依赖,无论安装次序,在所有的机器上都按同样方式安装。

安装

在 Ubuntu 上:

$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

$ sudo apt-get update && sudo apt-get install yarn

如果安装失败,可以先尝试删除 cmdtest: sudo apt remove cmdtest。

虽然官方提供了很多安装方式,但太麻烦了,还是用最简单的吧

window

npm install -g yarn

其它系统

sudo npm install -g yarn

安装好后:

$ yarn --version

使用

创建一个项目

$ yarn init

添加依赖

$ yarn add package
$ yarn add package@version
$ yarn add package@tag

将依赖添加到不同的依赖目录

例如添加到 devDependencies, peerDependencies, optionalDependencies 等。

$ yarn add package --dev
$ yarn add package --peer
$ yarn add package --optional

升级依赖包

$ yarn upgrade package
$ yarn upgrade package@version
$ yarn upgrade package@tag

删除依赖

$ yarn remove package

安装项目中的所有依赖

$ yarn  ## or
$ yarn install

包配置文件

每个包都有一个配置文件 package.json,Yarn 据该文件识别每个包,并进行处理。

Yarn 会在项目的根目录下创建一个 yarn.lock 文件,用于管理依赖关联,我们无需修改该文件,并需要将该文件包含进代码库中。

package.json

name 和 version 项组合成一个唯一的标识。

开发和生产环境下都需要的依赖放在 dependencies 下,如:

{
"dependencies": {
  "package-1": "^3.1.4"
}
}

可以指定精确的版本,最小版本 >=,一个版本区间 >= … <。

开发环境下的依赖放在 devDependencies 中:

{
"devDependencies": {
  "package-2": "^0.4.2"
}
}

peerDependencies 可用来声明你的包与其它包的兼容性:

{
"peerDependencies": {
  "package-3": "^2.7.18"
}
}

optionalDependencies 中的包若没有找到,安装过程也会继续:

{
"optionalDependencies": {
  "package-5": "^1.6.1"
}
}

bundledDependencies 中的包,当你的包发布时,会一起打包进来:

{
"bundledDependencies": [
  "package-4"
]
}

Yarn 工作流

创建 Yarn 工程

一般在项目的根目录下运行 yarn init 命令,回答一些项目相关的问题,之后创建一个 package.json 文件,用来保存项目及其依赖信息。

管理依赖

使用 Yarn 的 add, upgrade, remove 等命令来管理依赖,这些命令会自动更新 package.json 及 yarn.lock 文件的内容。

安装依赖包

使用 yarn install 来安装项目的全部依赖包,依赖包信息从 package.json 中提取,并保存到 yarn.lock 文件中。

安装方式:

  1. 安装全部依赖: yarn 或 yarn install
  2. 每个包只安装一个版本: yarn install –flat
  3. 强制重装下载安装全部包: yarn install –force
  4. 只安装生产环境下的依赖: yarn install –production

版本控制

必须将以下 2 个文件加入代码库中。

  • package.json: 包含当前的所有依赖信息。
  • yarn.lock: 保存了每个已安装的依赖包的信息。

从 npm 迁移到 Yarn

Yarn 和 Npm 基本上是兼容的,Yarn 可以使用 npm 创建的 package.json,可以安装 npm registry 中的任何包。一般只需运行 yarn,将生成的 yarn.lock 文件加入代码库即完成迁移。见 https://yarnpkg.com/en/docs/migrating-from-npm。

初始化一个项目

yarn init

功能跟npm init 几乎一样

以默认值初始化

yarn init --yes
yarn init -y

与npm也雷同

npm init -f

添加依赖

yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]

正如npm以下命令一样

npm install [package]
npm install [package]@[version]
npm install [package]@[tag]

yarn install [package] --peer

还可以安装平行依赖呢

强制重装所有模块

yarn install --force

yarn 是从npm下载模块的,完全兼容已经在用npm的项目,可以无缝切换。 yarn 安装过后会在项目根目录下生成并自动管理yarn.lock文件,把这个文件加入到git版本控制中,这个文件记录了依赖安装的版本和结构信息,通过同步给别人,别人再用yarn安装,可以确保你们生成的目录结构和包版本信息完全一致。

参考

  • https://yarnpkg.com/
  • https://yarnpkg.com/en/docs/install
  • https://yarnpkg.com/en/docs/yarn-workflow
  • https://yarnpkg.com/en/docs/migrating-from-npm
  • https://yarnpkg.com/en/docs/configuration


请遵守《互联网环境法规》文明发言,欢迎讨论问题
扫码反馈

扫一扫,反馈当前页面

咨询反馈
扫码关注
返回顶部