You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行expo publish发布Expo应用返回404错误问题求助

Expo publish指定release-channel发布时返回404错误排查方案

问题复现场景

执行发布命令:
expo publish --release-channel test
接口直接返回404状态码,报错信息为Request failed with status code 404。

已尝试以下操作均未解决问题:

  • 将React版本从16.8.6降级至16.8.3重试
  • 注册全新Expo账号后重新登录发布
  • 切换至此前可正常执行该命令的旧账号操作

当前项目环境版本:

  • Expo SDK:33.0.0
  • Expo CLI:3.4.1
  • React:16.8.6
  • React Native:0.59.8

根因排查&修复步骤

1. 先校验app.json核心配置

绝大多数账号切换后仍然报404的问题都是配置不匹配导致的:

  • 打开项目根目录app.json,核对expo.slug字段值,必须和当前登录账号下已存在的Expo项目slug完全一致。SDK33配套的老版本CLI不会在slug不存在时自动创建项目,找不到对应项目资源就会直接返回404。
  • 如果是发布到团队/组织账号下的项目,必须在expo节点下显式添加owner字段,值为对应组织的Expo账号名,缺省该字段时CLI默认会向个人账号空间请求项目接口,资源不存在就报404。

2. 修复CLI版本兼容bug

你当前使用的Expo CLI 3.4.1和SDK 33存在已知的发布接口路径拼接bug,会导致请求打到不存在的接口地址返回404,按以下步骤替换到适配版本:

# 全局卸载当前版本CLI
npm uninstall -g expo-cli
# 安装适配SDK33的稳定固定版本
npm install -g expo-cli@3.2.3

安装完成后先执行expo whoami确认当前登录账号身份正确,再删除项目根目录下的.expo缓存文件夹,重新执行发布命令即可。

3. 老版本SDK服务兼容处理

Expo官方已经停止对SDK 45以下版本的经典expo publish接口的公开支持,如果上述两步操作后仍然返回404,可选择以下任意一种方案处理:

  • 升级项目Expo SDK版本到45及以上,迁移到官方最新的EAS更新服务,使用eas update --channel test替代原有expo publish命令完成分通道发布
  • 暂时无法升级SDK的话,可以自行搭建自托管的expo-updates资源服务,把打包后的更新资源上传到自有存储服务,绕开官方已停服的老版本发布接口。

内容的提问来源于stack exchange,提问作者Arnit Gashi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 11:06:28