EAS Build 限制
编辑页面
了解 EAS Build 当前的限制。
For the complete documentation index, see llms.txt. Use this file to discover all available pages.
EAS Build 的设计目标是适用于任何 React Native 项目。不过,了解一些我们计划解决的限制是很有必要的,因为这些限制可能会妨碍你在应用中使用该服务,或者给你带来不便。
构建工作服务器上的固定内存和 CPU 限制
如果你的构建过程需要大量内存,可用资源可能不足以构建你的应用。在这种情况下,考虑在 eas.json 中使用 large 资源类。另请参阅 Android 特定资源类 和 iOS 特定资源类。
更多信息请参阅 服务器基础设施参考。其中包含关于当前 Android(Ubuntu)和 iOS(macOS)构建服务器规格的最新信息。
有限的依赖缓存
Android 的构建任务会从本地缓存中安装 npm 和 Maven 依赖。iOS 的构建任务会从本地缓存中安装 npm 依赖,并从缓存服务器中获取 CocoaPods 构建产物。
像 node_modules 目录这样的中间产物不会被缓存和恢复(例如基于 package-lock.json 或 yarn.lock),但如果你将它们提交到 Git 仓库,它们就会被上传到构建服务器。
更多信息请参阅 依赖缓存。
最长构建时长为 2 小时
如果你的构建运行时间超过 2 小时,它将被取消。免费套餐的此限制更低,并且未来可能会变动。
每个平台每个账户最多可排队 50 个待处理构建
如果某个平台上有超过 50 个构建处于待处理状态,新的构建请求将被拒绝,直到待处理构建数量降到限制以下。
支持工作区的包管理器可能需要特殊配置
注意:对于 Bun、npm、pnpm 和 Yarn 之外的包管理器,官方指导有限。
EAS Build 支持由支持 workspaces 的包管理器管理的 monorepo。不过,第三方的 monorepo 或 workspaces 工具可能无法按预期工作,或者需要额外配置。在设置和配置 monorepo 与 workspaces 时,复杂度增加是很常见的。在创建 monorepo 之前,请先检查你的工具和库是否能在 monorepo 中良好工作。另请参阅 使用 monorepo。
获取变更通知
如需在这些事项取得进展时收到通知,你可以在 expo.dev/eas 订阅 EAS 新闻通讯。