Skip to main content

yarn add

向项目添加依赖。

用法

$ yarn add ...

示例

将常规包添加到当前工作区 :

yarn add lodash

将包的特定版本添加到当前工作区 :

yarn add lodash@1.2.3

使用 URL 将 GitHub 存储库(主分支)中的包添加到当前工作区 :

yarn add lodash@https://github.com/lodash/lodash

使用 GitHub 协议将 GitHub 存储库(主分支)中的包添加到当前工作区 :

yarn add lodash@github:lodash/lodash

使用 GitHub 协议(简写)将 GitHub 存储库(主分支)中的包添加到当前工作区 :

yarn add lodash@lodash/lodash

使用 GitHub 协议(简写)将 GitHub 存储库特定分支中的包添加到当前工作区 :

yarn add lodash-es@lodash/lodash#es

将本地包(gzip tarball 格式)添加到当前工作区 :

yarn add local-package-name@file:../path/to/local-package-name-v0.1.2.tgz

详情

此命令将包添加到最近工作区的 package.json 中。 - 如果之前不存在,包将默认添加到常规 dependencies 字段,但是可以通过 -D,--dev 标志(将导致依赖添加到 devDependencies 字段)和 -P,--peer 标志(对 peerDependencies 执行相同操作)覆盖此行为。 - 如果包已经在依赖中列出,无论它是 dependencies 还是 devDependencies 的一部分,它都会默认升级(但它永远不会更新 peerDependencies)。 - 如果设置了 --prefer-dev 标志,它将作为更灵活的 -D,--dev 运行,因为如果包尚未在 dependenciesdevDependencies 中列出,它会将包添加到 devDependencies,但如果已经在使用 dependencies,它也会很乐意升级它(而 -D,--dev 会引发异常)。 - 如果设置,-O,--optional 标志会将包添加到 optionalDependencies 字段,并与 -P,--peer 标志结合使用,将包添加为可选对等依赖。如果包已列在你的 dependencies 中,它将升级为 optionalDependencies。如果包已列在你的 peerDependencies 中,与 -P,--peer 标志结合使用,它将升级为可选对等依赖:"peerDependenciesMeta": { "<package>": { "optional": true } } - 如果添加的包根本没有指定范围,则将解析其 X​​X24 标记,并使用返回的版本生成新的 semver 范围(默认情况下使用 ^ 修饰符,除非通过 defaultSemverRangePrefix 配置另行配置,或者如果指定了 -T,--tilde,则使用 ~ 修饰符,如果指定了 -E,--exact,则根本不使用修饰符)。此规则有两个例外:第一个例外是,如果包是工作区,则将使用其本地版本;第二个例外是,如果使用 -P,--peer,则默认范围将为 *,并且根本不会解析。- 如果添加的包指定了范围(例如 ^1.0.0latestrc),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

选项

定义描述

--json

将输出格式化为 NDJSON 流

-F,--fixed

按原样存储依赖标签,而不是解析它们

-E,--exact

不要在解析范围内使用任何 semver 修饰符

-T,--tilde

在解析范围上使用 ~ semver 修饰符

-C,--caret

在解析范围上使用 ^ semver 修饰符

-D,--dev

将包添加为开发依赖

-P,--peer

将包添加为对等依赖

-O,--optional

将包添加/升级​​为可选的常规/对等依赖

--prefer-dev

将包添加/升级​​为开发依赖

-i,--interactive

重用项目中其他工作区中指定的包

--cached

重用项目中某处已使用的最高版本

--mode #0

更改安装生成的工件