返回顶部
本页目录

yarn install

安装项目依赖项。

语法

                            
  • yarn install

实例

安装项目:

                            
  • yarn install

使用零安装时验证项目:

                            
  • yarn install --immutable --immutable-cache

使用零安装时验证项目(如果您接受外部 PR 会稍微安全一些):

                            
  • yarn install --immutable --immutable-cache --check-cache

选项

--immutable
如果要修改锁定文件,则以错误退出代码中止
--immutable-cache
如果要修改缓存文件夹,则中止并返回错误退出代码
--refresh-lockfile
刷新存储在锁文件中的包元数据
--check-cache
始终重新获取包并确保它们的校验和一致
--check-resolutions
验证包分辨率是否一致
--inline-builds
详细打印依赖项构建步骤的输出
--mode #0
更改安装生成的工件
--json
输出格式化为 NDJSON 流

细节

如果需要,此命令会设置您的项目。安装分为四个不同的步骤,每个步骤都有自己的特点:

  • 解决方案:首先,包管理器将解决您的依赖关系。在常规 semver 保证之外,依赖版本优于另一个版本的确切方式并未标准化。如果包没有按照您的预期解析,请检查所有依赖项是否已正确声明(也请查看我们的网站以获取更多信息:)。

  • FetchcacheFolder然后我们根据需要下载所有依赖项,并确保它们都存储在我们的缓存中(检查in的值 yarn config 以查看缓存文件的存储位置)。

  • 链接:然后我们将依赖树信息发送给内部插件,负责以某种形式将它们写入磁盘(例如,通过生成您可能知道的 .pnp.cjs 文件)。

  • 构建:一旦依赖树被写入磁盘,包管理器现在可以自由地为所有可能需要它的包运行构建脚本,按照与它们相互依赖的方式兼容的拓扑顺序。

请注意,运行此命令不是推荐工作流程的一部分。Yarn 支持零安装,这意味着只要您将缓存和 .pnp.cjs 文件存储在存储库中,在克隆存储库或切换分支后无需任何安装即可正常运行。

如果 --immutable 设置了该选项(在 CI 上默认为 true),如果要修改锁定文件(可以使用配置设置添加其他路径immutablePatterns),Yarn 将中止并显示错误退出代码。为了向后兼容,我们提供了一个名为的别名--frozen-lockfile,但它将在以后的版本中删除。

如果 --immutable-cache 设置了该选项,如果要修改缓存文件夹(因为文件将被添加,或者因为它们将被删除),Yarn 将中止并显示错误退出代码。

如果 --refresh-lockfile 设置了该选项,Yarn 将为当前在锁定文件中的包保持相同的分辨率,但会刷新它们的元数据。与 一起使用–immutable,可以验证锁文件信息是否一致。当 Yarn 检测到它在拉取请求上下文中运行时,默认情况下启用此标志。

如果 --check-cache 设置了该选项,Yarn 将始终重新获取包,并确保它们的校验和与现有缓存文件(如果存在)中的锁定文件 2/ 中描述的内容相匹配。如果您同时遵循零安装模型并接受来自第三方的 PR,建议将此作为 CI 工作流程的一部分,因为否则他们可以在提交之前更改签入的包。

如果 --inline-builds 设置了该选项,Yarn 将详细打印依赖项构建步骤的输出(而不是将它们写入单独的文件)。仅当使用类似 Docker 的环境时,这可能主要用于调试目的。

如果 --mode=<mode> 设置了该选项,Yarn 将更改生成的工件。目前支持的模式有:

  • skip-build 根本不会运行构建脚本。请注意,这与设置为 false 不同enableScripts ,因为后者将禁用构建脚本,从而影响磁盘上生成的工件的内容,而前者只会禁用构建步骤 - 但不会禁用脚本本身,这不会跑步。

  • update-lockfile 将完全跳过链接步骤,只获取锁定文件中缺少的包(或没有相关校验和的包)。此模式通常由 Renovate 或 Dependabot 等工具使用,以使锁定文件保持最新,而不会产生全部安装成本。