Skip to main content

yarn install

安装项目依赖。

用法

$ yarn install

示例

安装项目 :

yarn install

使用时验证项目零安装 :

yarn install --immutable --immutable-cache

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

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

详情

如果需要,此命令将设置你的项目。安装分为四个不同的步骤,每个步骤都有自己的特点: - 解决:首先,包管理器将解决你的依赖。依赖版本相对于另一个版本的权限的确切方式并未标准化,除了常规的 semver 保证之外。如果包没有解析到你期望的结果,请检查所有依赖是否正确声明(还可以查看我们的网站了解更多信息:)。 - 获取:然后我们会根据需要下载所有依赖,并确保它们都存储在我们的缓存中(检查 yarn configcacheFolder 的值以查看缓存文件的存储位置)。 - 链接:然后我们将依赖树信息发送给内部插件,以某种形式将它们写入磁盘(例如,通过生成你可能知道的 .pnp.cjs 文件)。 - 构建:一旦依赖树写入磁盘,包管理器现在就可以自由地运行所有可能需要它的包的构建脚本,其拓扑顺序与它们相互依赖的方式兼容。有关详细信息,请参阅 https://yarnpkg.com/advanced/lifecycle-scripts。请注意,运行此命令不是推荐工作流程的一部分。Yarn 支持零安装,这意味着只要你将缓存和 .pnp.cjs 文件存储在存储库中,在克隆存储库或切换分支后,一切都将正常工作,而无需任何安装。如果设置了 --immutable 选项(在 CI 上默认为 true),当要修改锁文件时,Yarn 将中止并显示错误退出代码(可以使用 immutablePatterns 配置设置添加其他路径)。为了向后兼容,我们提供了一个名为 --frozen-lockfile 的别名,但它将在以后的版本中被删除。如果设置了 --immutable-cache 选项,当要修改缓存文件夹时(因为要添加文件或删除文件),Yarn 将中止并显示错误退出代码。如果设置了 --refresh-lockfile 选项,Yarn 将保持当前锁文件中包的相同解析,但会刷新其元数据。如果与 --immutable 一起使用,它可以验证锁文件信息是否一致。当 Yarn 检测到它在拉取请求上下文中运行时,此标志默认启用。如果设置了 --check-cache 选项,Yarn 将始终重新获取包并确保它们的校验和与现有缓存文件(如果存在)中 1/ 锁文件中描述的 2/ 相匹配。如果你同时遵循零安装模型并接受来自第三方的 PR,则建议将其作为 CI 工作流程的一部分,因为否则他们有能力在提交之前更改签入的包。如果设置了 --inline-builds 选项,Yarn 将详细打印依赖的构建步骤的输出(而不是将它们写入单独的文件)。这可能主要用于仅在使用类似 Docker 的环境时进行调试。如果设置了 --mode=<mode> 选项,Yarn 将更改生成的工件。当前支持的模式是:- skip-build 根本不会运行构建脚本。请注意,这与将 enableScripts 设置为 false 不同,因为后者将禁用构建脚本,从而影响磁盘上生成的工件的内容,而前者只会禁用构建步骤 - 但不会禁用脚本本身,因为脚本本身不会运行。- update-lockfile 将完全跳过链接步骤,并且仅获取锁定文件中缺少的包(或没有相关校验和的包)。此模式通常由 Renovate 或 Dependabot 等工具使用,以使锁定文件保持最新状态,而无需承担完整安装成本。

选项

定义描述

--json

将输出格式化为 NDJSON 流

--immutable

如果要修改锁定文件,则以错误退出代码中止

--immutable-cache

如果要修改缓存文件夹,则以错误退出代码中止

--refresh-lockfile

刷新存储在锁定文件中的包元数据

--check-cache

始终重新获取包并确保其校验和一致

--check-resolutions

验证包解析是否一致

--inline-builds

详细打印输出依赖的构建步骤

--mode #0

更改安装生成的工件