yarn install
用法
$ yarn install
示例
安装项目 :
yarn install
使用时验证项目零安装 :
使用零安装时验证项目(如果你接受外部 PR,则稍微安全一些) :
详情
如果需要,此命令将设置你的项目。安装分为四个不同的步骤,每个步骤都有自己的特点: -
解决:首先,包管理器将解决你的依赖。依赖版本相对于另一个版本的权限的确切方式并未标准化,除了常规的 semver
保证之外。如果包没有解析到你期望的结果,请检查所有依赖是否正确声明(还可以查看我们的网站了解更多信息:)。 -
获取:然后我们会根据需要下载所有依赖,并确保它们都存储在我们的缓存中(检查 yarn config
中 cacheFolder
的值以查看缓存文件的存储位置)。 - 链接:然后我们将依赖树信息发送给内部插件,以某种形式将它们写入磁盘(例如,通过生成你可能知道的
.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 等工具使用,以使锁定文件保持最新状态,而无需承担完整安装成本。
选项
定义 | 描述 |
---|---|
| 将输出格式化为 NDJSON 流 |
| 如果要修改锁定文件,则以错误退出代码中止 |
| 如果要修改缓存文件夹,则以错误退出代码中止 |
| 刷新存储在锁定文件中的包元数据 |
| 始终重新获取包并确保其校验和一致 |
| 验证包解析是否一致 |
| 详细打印输出依赖的构建步骤 |
| 更改安装生成的工件 |