EAS Build 限制

编辑页面

了解 EAS Build 当前的限制。


For the complete documentation index, see llms.txt. Use this 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.jsonyarn.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 新闻通讯。