Node.js Yarn 工具

Yarn(英文全拼:Yet Another Resource Negotiator)是由 Facebook、Google、Exponent 和 Tilde 联合推出的一个快速、可靠、安全的依赖管理工具,一款新的 JavaScript 包管理工具。正如官方文档中写的,Yarn 是为了弥补 npm 的一些缺陷而出现的。

安装 Yarn

在使用 Yarn 之前,首先要在你的系统上安装 Yarn 。虽然安装 Yarn 有很多种方式,但是建议采用这一种跨平台的安装方式 —— 通过 npm 安装。

npm install --global yarn

上述命令执行完毕,可以通过如下命令测试 Yarn 是否安装成功:

yarn --version

Yarn 的特点

  • 速度超快:Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。
  • 超级安全:在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。
  • 超级可靠:使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。

Yarn 的优势

相比于 npm,Yarn 最突出的优势是速度快!主要体现在以下两个方面:

  • 并行安装:无论 npm 还是 Yarn 在执行包的安装时,都会执行一系列任务。npm 是按照队列执行每个 package,也就是说必须要等到当前 package 安装完成之后,才能继续后面的安装。而 Yarn 是同步执行所有任务,提高了性能。
  • 离线模式:如果之前已经安装过一个软件包,用 Yarn 再次安装时之间从缓存中获取,就不用像 npm 那样再从网络下载了。

Yarn 命令

命令 描述
yarn add 添加依赖
yarn audit 对已安装的软件包执行漏洞审核
yarn autoclean 从程序包依赖项中清除并删除不必要的文件
yarn bin 显示依赖 bin 文件夹的位置
yarn cache 管理用户目录中的依赖缓存
yarn check 验证当前项目中程序包依赖项
yarn config 管理依赖配置文件
yarn create 创建 Yarn 工程
yarn dedupe 删除重复的依赖
yarn generate-lock-entry 生成 Yarn 锁文件
yarn global 在全局安装依赖
yarn help 显示 Yarn 的帮助信息
yarn import 迁移当前依赖的项目 package-lock.json
yarn info 显示有关依赖的信息
yarn init 初始化工程并创建 package.json 文件
yarn install 用于安装项目的所有依赖项
yarn licenses 列出已安装依赖的许可证及源码 url
yarn link 链接依赖文件夹
yarn list 列出已安装的依赖
yarn login 存储您在 registry 上的用户名和 email
yarn logout 清除你在 registry 上用户名和 email
yarn outdated 列出所有依赖项的版本信息
yarn owner 展示依赖作者
yarn pack 创建依赖项的压缩 gzip
yarn policies 规定整个项目中执行 Yarn 的版本
yarn publish 将依赖发布到 npm 注册表
yarn remove 删除依赖
yarn run 运行定义的程序脚本命令
yarn tag 在依赖上添加,删除或列出标签
yarn team 管理组织中的团队,并更改团队成员身份
yarn test 运行程序的 test 命令
yarn upgrade 将指定依赖升级为最新版本
yarn upgrade-interactive 更新过期依赖的简便方法
yarn version 展示依赖版本信息
yarn versions 展示所有依赖项版本信息
yarn why 显示有关为什么安装依赖的信息
yarn workspace Yarn 的工作区信息
yarn workspaces Yarn 的所有工作区信息

Yarn 和 npm 命令对比

下面以部分常用命令为例,列出等效的 yarn 和 npm 命令,方便读者记忆。

npm 命令 yarn 命令 说明
npm install yarn 一键安装 package.json 的所有包
npm install <package> --save yarn add <package> 安装到 dependencies
npm install <package> --save-dev yarn add <package> --dev 安装到 devDependencies
npm install <package>[@ver] --save yarn add <package>[@ver] 安装指定版本号的包
npm install <package> --global yarn global add <package> 全局安装某个包
npm uninstall <package> --save yarn remove <package> 删除某个包
npm update --save yarn upgrade 更新所有包
npm update --global yarn updade upgrade 全局更新所有包

相关链接