This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
从 Classic Updates 迁移
编辑页面
帮助从 Classic Updates 迁移到 EAS Update 的指南。
警告 SDK 49 是最后一个支持 Classic Updates 的版本。若要继续使用已弃用的
expo publish命令,请在应用配置中设置updates.useClassicUpdates。
EAS Update 是 Expo 更新服务的下一代。如果你正在使用 Classic Updates,本指南将帮助你升级到 EAS Update。
1 requirement
1 requirement
EAS Update 需要以下版本或更高版本:
- Expo SDK 45.0.0 及更高版本
- Expo CLI 5.3.0 及更高版本
- EAS CLI 0.50.0 及更高版本
expo-updates0.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
可选:如果你的项目是一个现有的 React Native 项目,请参阅在现有项目中使用 EAS Update,了解你可能需要的额外配置。
创建新的构建
上述更改会影响构建中的原生代码层,这意味着你需要创建新的构建,然后才能开始发送更新。构建完成后,你就可以发布更新了。
发布更新
在本地对项目进行更改后,你就可以发布更新了,请运行:
- eas update --channel [channel-name] --message [message]# 示例- eas update --channel production --message "修复了拼写错误"发布后,你可以在 EAS 仪表板 中查看该更新。
其他迁移步骤
- 在脚本中将
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 频道中交流。