Yarn 是2016年由 Facebook 、Google、Exponent 、Tilde 联合推出的一个新的 Javascript 包管理工具,它的出现主要是为了弥补 npm 的一些缺陷。
官网上介绍了 Yarn 的一些优势,例如 :
前提:安装Node.js,具备npm环境
通过 npm 安装yarn
npm install --global yarn
运行命令来测试 Yarn 是否安装成功
yarn -v
或
yarn --version
每个管理包依赖的命令都会更新package.json和yarn.lock 文件
yarn init
这将打开一个用于创建Yarn项目的交互式表单,其中包含以下问题:
name (your-project):
version (1.0.0):
description:
entry point (index.js):
git repository:
author:
license (MIT):
你既可以回答这些问题,也可以直接敲回车键(enter/return)使用默认配置或者留空。
执行yarn init之后,package.json文件会被创建,没有任何副作用,你可以随意编辑此文件。
yarn init —yes/-y
这个命令跳过上面提到的交互式会话,并生成一个基于你的默认值的 package.json
package.json文件里存储了项目的有关信息。 包括项目名称、维护者信息、代码托管地址,以及最重要的:项目依赖。
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
或者
yarn install
安装选项
有很多参数可以控制依赖安装的过程,包括:
运行一个定义好的包脚本。
你可以在你的 package.json 文件中定义 scripts。
{
"name": "my-package",
"scripts": {
"build": "babel src -d lib",
"test": "jest"
}
}
yarn run [script] [< args>]
如果你已经在你的包里定义了 scripts,这个命令会运行指定的 [script]。例如:
yarn run test
运行这个命令会执行你的 package.json 里名为 “test” 的脚本
您可以在脚本名称后放置要传递给您的脚本的额外参数。
yarn run test -o --watch
运行这个命令会执行 jest -o —watch。
[script] 也可以是任何 node_modules/.bin/ 里本地安装的可执行程序。
也可以在该命令中忽略 run,每个脚本都可以用其名字执行:
yarn test -o --watch
yarn.lock 文件是自动产生的,而且应该完全被 Yarn 管理。
当你用 Yarn CLI 增加/升级/删除依赖,它将自动更新你的 yarn.lock 文件。
不要直接编辑这个文件,那样很容易弄坏某些东西。
为了别人能使用你的包,以下文件必须被提交进版本控制系统: