Yarn 常用命令详解
前言
亲爱的同学们,又见面了!在上一篇文章里,我给大家简单介绍了 Yarn 的功能和基本使用流程。我们知道 Yarn 是 Facebook 发布,用来完善 npm 的新版依赖管理工具。关于 Yarn,我们还有很多值得探索的地方。接下来,本文将为大家详细列举并解释 Yarn 在日常开发中的常用命令。
1. 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 所有的命令功能,但目前已经可以满足绝大多数开发场景。接下来,我们将挑选出实际开发中常用的一些命令,向大家解释并示例使用技巧。
2. 命令详解
2.1 yarn version
-
解释: 用来查看 yarn 的版本信息。
-
使用场景: 查看当前安装 yarn 的版本。
-
具体使用:
使用yarn -v或者yarn --version运行结果如下:# 示例输出 1.22.19 -
经验:
当安装完 yarn,不确定是否安装成功时,可以使用此命令。如果显示了版本号,说明安装成功。
2.2 yarn init
- 解释: 初始化项目或者文件夹。
- 使用场景: 当你想初始化一个项目或文件夹,并生成
package.json文件时,使用此命令。 -
具体使用:
我们初始化一个示例项目,执行:yarn init默认配置项我们直接按
enter键确认,运行结果如下:# 示例输出 question name (test-project): question version (1.0.0): question description: question entry point (index.js): question repository url: question author: question license (MIT): success Saved package.json此时,我们就使用 yarn 初始化了一个项目。
2.3 yarn add
-
解释: 添加一个或者多个依赖。
-
使用场景: 此命令为 yarn 使用频率最高的几个命令之一,用来添加依赖。
-
具体使用:
依赖添加的具体命令为:yarn add [package] yarn add [package]@[version] yarn add [package]@[tag]比如我们想添加
gulp-less这个依赖,效果如图:yarn add gulp-less安装多个依赖后,
package.json里面会展示你安装的所有依赖信息:"dependencies": { "gulp-less": "^5.0.0" } -
经验:
同样是安装依赖,npm 使用npm install命令后面需要接很多参数,如版本号 “~”、“^” 等,含义各不相同。而yarn add的使用方式十分简洁,且控制台输出风格更人性化。
2.4 yarn upgrade
- 解释: 更新依赖。
- 使用场景: 使用此命令可以更新已经安装的依赖。
-
具体使用:
更新某个依赖到最新版本的具体命令为:yarn upgrade [package]你也可以指定版本进行更新:
yarn upgrade [package]@[version]
2.5 yarn remove
- 解释: 删除依赖。
- 使用场景: 使用此命令可以删除已经安装的依赖。
-
具体使用:
删除某个依赖的具体命令为:yarn remove [package]
2.6 yarn cache
-
解释: 用来管理用户缓存的依赖。
-
使用场景: 当你想查看本地缓存了哪些 Yarn 的依赖,以及具体各个依赖项的详细信息,可以使用该命令。
-
具体使用:
-
yarn cache dir
运行这个命令会显示出当前缓存目录,默认为 C 盘。例如我的电脑路径是:# 示例输出 C:\Users\YourUserName\AppData\Local\Yarn\Cache\v6 -
yarn cache list
展示所有已缓存的依赖项信息:yarn cache list -
yarn cache clean
对本地缓存的依赖进行强制清除:yarn cache clean
-
-
经验:
本地有很多项目时,有时会发现用来存放依赖的磁盘空间越来越小,这也许是因为缓存了太多无用的依赖。或者在安装依赖时用了很多办法都解决不了的问题(如依赖版本错误),可以考虑查看并清除本地的依赖缓存。
2.7 yarn config
-
解释: 和 npm 的
config命令类似,用来管理依赖的配置信息。 -
使用场景: 用来查看和设置依赖的一些配置信息,如资源路径等。
-
具体使用:
-
yarn config list
这个命令不仅能展示 yarn 的资源路径信息,还能展示 npm 的路径信息:yarn config list -
yarn config set
设置配置信息,如设置淘宝镜像地址:yarn config set registry https://registry.npm.taobao.org
-
-
经验:
对于许多国内开发者来说,有些依赖下载速度慢,或者直接被墙。这时候我们可以使用本命令来更改资源路径,如改为淘宝镜像,这样就能大大提高开发效率。
2.8 yarn info
- 解释: 查看具体某一个依赖的信息,不一定是本地已经安装过的,远程的也可以。
- 使用场景: 查看具体的依赖信息。
-
具体使用:
yarn info [package]例如我们想查看 vue 的具体信息,可以输入命令:
yarn info vue这里查看到了所有 vue 这个包的信息,例如作者、版本信息等:
# 示例输出(部分) { name: 'vue', 'dist-tags': { latest: '3.3.4', ... }, versions: ['2.7.14', '3.3.4', ...], }
2.9 yarn global
-
解释: 在 npm 里有
npm install <package> -g的命令,用来全局安装某个依赖。同样,yarn 也有相对应的全局安装方案yarn global。 -
使用场景: 使用 yarn 全局安装某个依赖,或者可以配合
yarn bin、yarn global remove等命令使用。 -
具体使用:
-
yarn global add
例如我们想全局安装 webpack,使用命令:yarn global add webpack -
yarn global bin
查看全局安装包的 bin 目录位置。
-
-
经验:
yarn 并不推荐把依赖安装到全局环境下,原因是 yarn 的思想是让每一个项目拥有对应的本地依赖,防止不同的开发环境因为全局的依赖项版本不同,导致运行结果不一致。
2.10 yarn why
- 解释: 帮助你寻找本项目的依赖,并解释为什么这个依赖会被安装。
- 使用场景: 想寻找本项目中的某一依赖信息,或者想知道为什么某个依赖会被安装,可以使用该命令。
-
具体使用:
使用命令:
yarn why [package]该命令可以计算依赖大小,并展示该依赖项对应的其他依赖关系等信息,例如:
yarn why webpack
2.11 yarn run
-
解释: 使用
yarn run命令来启动项目相对应的功能。 -
使用场景: 在项目里已经定义好相对应的一些命令后,使用
yarn run命令来启动项目功能。本处演示使用 vue-cli 初始化的命令。 -
具体使用:
yarn run [script] 或 yarn [script]例如:我们使用
package.json文件中定义的启动命令serve。如果用 npm 我们可以使用npm run serve,在 yarn 命令中,我们使用yarn run serve或者直接yarn serve启动项目。运行命令后效果如下图,此时,我们就启动了这个 vue-cli 默认的项目:
yarn serve项目默认页面展示如下图(浏览器自动打开
http://localhost:8080)。然后我们再尝试下默认的打包命令:
yarn build此时文件夹中的
dist目录便是打包出来的文件。 -
经验:
yarn run命令和npm run命令运行的实际效果是一致的。不过我们更推荐使用 yarn 命令,是因为 yarn 命令的运行提示更加简洁易懂,比 npm 更加友好。
