从 Classic Updates 迁移
编辑页面
帮助从 Classic Updates 迁移到 EAS Update 的指南。
For the complete documentation index, see llms.txt. Use this Use this file to discover all available pages.
警告 SDK 49 是最后一个支持 Classic Updates 的版本。要继续使用已弃用的
expo publish命令,请在你的应用配置中设置updates.useClassicUpdates。
EAS Update 是 Expo 更新服务的下一代。如果你正在使用 Classic Updates,本指南将帮助你升级到 EAS Update。
前提条件
EAS Update 需要以下版本或更高版本:
- Expo SDK >= 45.0.0
- Expo CLI >= 5.3.0
- EAS CLI >= 0.50.0
- expo-updates >= 0.13.0
安装 EAS CLI
1
安装 EAS CLI:
- npm install --global eas-cli2
然后,使用你的 expo 账户登录:
- eas login配置你的项目
你需要对项目进行以下更改:
1
使用 EAS Update 初始化你的项目:
- eas update:configure执行此命令后,你应该会在应用配置中看到两个新字段:expo.updates.url 和 expo.runtimeVersion。
2
为了确保更新与构建中的底层原生代码兼容,EAS Update 使用了一个名为 runtimeVersion 的新字段,它取代了你项目应用配置中的 sdkVersion 字段。请从应用配置中移除 expo.sdkVersion 属性。
3
为了允许更新应用到使用 EAS 构建的构建版本中,请更新 eas.json 中的 EAS Build 配置文件,添加 channel 属性。这些 channel 会取代 releaseChannel 属性。我们发现将 channel 命名为与配置文件同名很方便。例如,preview 配置文件有一个名为 "preview" 的 channel,而 production 配置文件有一个名为 "production" 的 channel。
{ "build": { "development": { "developmentClient": true, "distribution": "internal" }, "preview": { "distribution": "internal", "channel": "preview" }, "production": { "channel": "production" } } }
4
可选:如果你的项目是一个 bare React Native 项目,请查看 在现有项目中使用 EAS Update,了解你可能需要的额外配置。
创建新构建
上述更改会影响构建中的原生代码层,这意味着你需要创建新的构建才能开始发送更新。构建完成后,你就可以发布更新了。
发布更新
在本地对项目进行更改后,你就可以发布更新了,请运行:
- eas update --channel [channel-name] --message [message]# 示例- eas update --channel production --message "Fixes typo"发布后,你可以在 EAS dashboard 中查看该更新。
其他迁移步骤
- 在脚本中将
expo publish的实例替换为eas update。你可以使用eas update --help查看发布的所有选项。 - 如果你的任何代码引用了
expo-updates库中的Updates.releaseChannel,请将其替换为Updates.channel。 - 移除任何引用
Constants.manifest的代码。这现在将始终返回null。你可以通过expo-constants库中的Constants.expoConfig访问大多数你需要的属性。
了解更多
上面描述的步骤使你能够使用与 Classic Updates 类似的流程。然而,EAS Update 更加灵活,功能也更多。它可用于创建更稳定的发布流程。了解 EAS Update 的工作原理 以及如何为你的项目和团队设计更稳定的 部署流程。
如果你在迁移过程中遇到问题,请查看我们的 调试指南。如果你有反馈,欢迎加入我们的 Discord,在 #update 频道中交流。