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
选项
- --json
- 输出格式化 NDJSON 流
- -F,--fixed
- 按原样存储依赖项标签而不是解析它们
- -E,--exact
- 不要在解析范围内使用任何 semver 修饰符
- -T,--tilde
- 在解析范围上使用
~
semver 修饰符 - -C,--caret
- 在解析范围上使用
^
semver 修饰符 - -D,--dev
- 在 devDependencies 上添加依赖项
- -P,--peer
- 在 peerDependencies 上添加依赖项
- -O,--optional
- 添加/升级一个软件包为可选的常规/同行依赖关系
- --prefer-dev
- 添加/升级一个依赖项到 devDependencies 中
- -i,--interactive
- 从项目中的其他工作区重复使用指定的包
- --cached
- 重复使用项目中某处已经使用的最高版本
- --mode #0
- 更改安装生成的工件
细节
此命令将一个包添加到最近工作区的 package.json 中。
-
如果它之前不存在,默认情况下包将被添加到常规
dependencies
字段,但由于标志-D,--dev
(这将导致依赖项被添加到该devDependencies
字段)和-P,--peer
标志(这将做同样的事情,但对于peerDependencies
)。 -
如果该包已经在您的依赖项中列出,则默认情况下它将被升级,无论它是您的
dependencies
还是的一部分devDependencies
(但它永远不会更新peerDependencies
)。 -
如果设置,该
--prefer-dev
标志将作为一个更灵活的操作,如果它尚未在 or 中列出,-D,--dev
它将添加到您的包中,但如果您已经使用它,它也会愉快地升级您的包(而 会抛出异常).devDependenciesdependenciesdevDependenciesdependencies-D,--dev
-
如果设置,该
-O,--optional
标志会将包添加到该optionalDependencies
字段,并与该标志结合-P,--peer
,它将包添加为可选的对等依赖项。如果包已经在您的列表中列出dependencies
,它将升级为optionalDependencies
. 如果包已经在你的 中列出peerDependencies
,结合标志-P,--peer
,它将升级为可选的对等依赖项:"peerDependenciesMeta": { "<package>": { "optional": true } }
-
如果添加的包根本没有指定范围,则其
latest
标签将被解析,返回的版本将用于生成新的 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
根本不会运行构建脚本。请注意,这与设置为 false 不同enableScripts
,因为后者将禁用构建脚本,从而影响磁盘上生成的工件的内容,而前者只会禁用构建步骤 - 但不会禁用脚本本身,这不会跑步。 -
update-lockfile
将完全跳过链接步骤,只获取锁定文件中缺少的包(或没有相关校验和的包)。此模式通常由 Renovate 或 Dependabot 等工具使用,以使锁定文件保持最新,而不会产生全部安装成本。