yarn add
向项目添加依赖。
用法
$ yarn add ...示例
将常规包添加到当前工作区 :
将包的特定版本添加到当前工作区 :
使用 URL 将 GitHub 存储库(主分支)中的包添加到当前工作区 :
使用 GitHub 协议将 GitHub 存储库(主分支)中的包添加到当前工作区 :
使用 GitHub 协议(简写)将 GitHub 存储库(主分支)中的包添加到当前工作区 :
使用 GitHub 协议(简写)将 GitHub 存储库特定分支中的包添加到当前工作区 :
将本地包(gzip tarball 格式)添加到当前工作区 :
详情
此命令将包添加到最近工作区的 package.json 中。 - 如果之前不存在,包将默认添加到常规 dependencies 字段,但是可以通过
-D,--dev 标志(将导致依赖添加到 devDependencies 字段)和 -P,--peer 标志(对
peerDependencies 执行相同操作)覆盖此行为。 - 如果包已经在依赖中列出,无论它是 dependencies 还是
devDependencies 的一部分,它都会默认升级(但它永远不会更新 peerDependencies)。 - 如果设置了
--prefer-dev 标志,它将作为更灵活的 -D,--dev 运行,因为如果包尚未在 dependencies 或
devDependencies 中列出,它会将包添加到 devDependencies,但如果已经在使用
dependencies,它也会很乐意升级它(而 -D,--dev 会引发异常)。 - 如果设置,-O,--optional 标志会将包添加到
optionalDependencies 字段,并与 -P,--peer 标志结合使用,将包添加为可选对等依赖。如果包已列在你的
dependencies 中,它将升级为 optionalDependencies。如果包已列在你的 peerDependencies 中,与
-P,--peer 标志结合使用,它将升级为可选对等依赖:"peerDependenciesMeta": { "<package>": { "optional": true } } - 如果添加的包根本没有指定范围,则将解析其 XX24 标记,并使用返回的版本生成新的 semver
范围(默认情况下使用 ^ 修饰符,除非通过 defaultSemverRangePrefix 配置另行配置,或者如果指定了
-T,--tilde,则使用 ~ 修饰符,如果指定了
-E,--exact,则根本不使用修饰符)。此规则有两个例外:第一个例外是,如果包是工作区,则将使用其本地版本;第二个例外是,如果使用
-P,--peer,则默认范围将为 *,并且根本不会解析。- 如果添加的包指定了范围(例如 ^1.0.0、latest 或 rc),Yarn
将在生成的 package.json 条目中按原样添加此范围(特别是,诸如 rc 之类的标签将按原样编码,而不是转换为 semver 范围)。如果使用
--cached 选项,Yarn 将优先重用项目中某处已使用的最高版本,即使是通过传递依赖。如果使用 -i,--interactive 选项(或如果
preferInteractive 设置已打开),该命令将首先尝试检查项目中的其他工作区是否使用指定的包,如果是,将提供重用它们。如果设置了
--mode=<mode> 选项,Yarn 将更改生成的工件。目前支持的模式有: - skip-build 根本不会运行构建脚本。请注意,这与将
enableScripts 设置为 false 不同,因为后者将禁用构建脚本,从而影响磁盘上生成的工件的内容,而前者只会禁用构建步骤 -
但不会禁用脚本本身,因为脚本本身不会运行。 - update-lockfile
将完全跳过链接步骤,只获取锁文件中缺少的包(或没有相关校验和的包)。此模式通常由 Renovate 或 Dependabot
使锁文件保持最新状态,而无需承担完整的安装成本。有关所有受支持协议的汇编,请查阅我们网站上的专用页面:https://yarnpkg.com/protocols
。
选项
| 定义 | 描述 |
|---|---|
| 将输出格式化为 NDJSON 流 |
| 按原样存储依赖标签,而不是解析它们 |
| 不要在解析范围内使用任何 semver 修饰符 |
| 在解析范围上使用 ~ semver 修饰符 |
| 在解析范围上使用 ^ semver 修饰符 |
| 将包添加为开发依赖 |
| 将包添加为对等依赖 |
| 将包添加/升级为可选的常规/对等依赖 |
| 将包添加/升级为开发依赖 |
| 重用项目中其他工作区中指定的包 |
| 重用项目中某处已使用的最高版本 |
| 更改安装生成的工件 |