重要提示:此文档涵盖 Yarn 1(经典版)。
有关 Yarn 2+ 文档和迁移指南,请参阅yarnpkg.com。

纱线添加

安装包及其依赖的所有包。

添加依赖项

一般来说,包只是一个包含代码和描述内容的 package.json 文件的文件夹。当您想要使用其他包时,您首先需要将其添加到您的依赖项中。这意味着运行 yarn add [package-name] 以将其安装到您的项目中。

这还将更新您的 package.jsonyarn.lock,以便与该项目合作的其他开发者在运行 yarnyarn install 时获得与您一样的依赖项。

大多数包都将从 npm 注册表 中安装,只需简单地引用其包名称即可。例如,yarn add react 将从 npm 注册表中安装 react 包。

您可以使用下列方法之一指定版本

  1. yarn add package-name 安装该包的“最新”版本。
  2. yarn add [email protected] 从注册表中安装该包的特定版本。
  3. yarn add package-name@tag 安装特定的 “标签”(例如 betanextlatest)。

您还可以指定来自不同位置的包

  1. yarn add package-namenpm 注册表 安装包,除非您在 package.json 中指定了另一个包。
  2. yarn add file:/path/to/local/folder 安装本地文件系统上的包。这对于测试您尚未发布到注册表中的其他包非常有用。
  3. yarn add file:/path/to/local/tarball.tgz 从 gzip tarball 安装包,可用于在发布包之前共享包。
  4. yarn add link:/path/to/local/folder 安装本地文件系统上的包的符号链接。这对于在 monorepo 环境中开发相关包很有用。
  5. yarn add <git remote url> 从远程 git 存储库安装包。
  6. yarn add <git remote url>#<branch/commit/tag> 从远程 git 存储库中安装特定 git 分支、git 提交或 git 标签中的包。
  7. yarn add https://my-project.org/package.tgz 从远程 gzip tarball 安装包。

注意事项

如果您之前使用过 npm 等包管理器,您可能正在寻找添加全局依赖项的方法。

对于绝大多数包,使用全局依赖项的行为很不好,因为它们是隐式的。最好在本地添加您的所有依赖项,以便它们是显式的,并且使用您项目的任何其他人获得相同的依赖项集。

如果您尝试使用带有 bin 的 CLI 工具,您可以在您的 ./node_modules/.bin 目录中访问它们。您还可以在 global 命令中使用

yarn global add <package...>

命令

yarn add <package...>

这将在您的 dependencies 中安装一个或多个包。

yarn add <package...> [--dev/-D]

使用 --dev-D 将在您的 devDependencies 中安装一个或多个包。

yarn add <package...> [--peer/-P]

使用 --peer-P 将在 peerDependencies 中安装一个或多个包。

yarn add <package...> [--optional/-O]

使用 --optional-O 将在 optionalDependencies 中安装一个或多个包。

yarn add <package...> [--exact/-E]

使用 --exact-E 将包安装为确切版本。默认情况下,使用具有相同主要版本的最新版本。例如,yarn add [email protected] 将接受版本 1.9.1,但 yarn add [email protected] --exact 将仅接受版本 1.2.3

yarn add <package...> [--tilde/-T]

使用 --tilde-T 安装具有相同次要版本的包的最新版本。默认情况下,使用具有相同主要版本的最新版本。例如,yarn add [email protected] --tilde 将接受 1.2.9 但不接受 1.3.0

yarn add <package...> [--ignore-workspace-root-check/-W]

使用 --ignore-workspace-root-check-W 允许在工作区根目录安装包。这往往不是期望的行为,因为通常希望依赖项是工作区的一部分。例如,在工作区根目录的 yarn add lerna --ignore-workspace-root-check --dev 将允许在 root package.json 的脚本中使用 lerna。

yarn add <alias-package>@npm:<package>

这将使用自定义别名安装一个包。通过别名引用,可以安装多个相同依赖关系的版本,每个都通过给定的别名-包名称引用。例如,yarn add my-foo@npm:foo 将在指定的别名 my-foo 下安装包 foo(最新版本),在 dependencies 中。此外,yarn add my-foo@npm:[email protected] 允许安装 foo 的特定版本。

yarn add <package...> --audit

检查已安装包中是否存在已知安全问题。找到的问题数量将被添加到输出中。使用 yarn audit 命令以获取更多详细信息。