Expo构建时报错Request failed with status code 400怎么解决?
Expo构建400错误排查方案
触发报错提示:
Error: Request failed with status code 400
完整错误堆栈如下:
at createError (/usr/local/lib/node_modules/turtle-cli/node_modules/axios/lib/core/createError.js:16:15) at settle (/usr/local/lib/node_modules/turtle-cli/node_modules/axios/lib/core/settle.js:17:12) at IncomingMessage.handleStreamEnd (/usr/local/lib/node_modules/turtle-cli/node_modules/axios/lib/adapters/http.js:260:11) at IncomingMessage.emit (events.js:322:22) at IncomingMessage.EventEmitter.emit (domain.js:482:12) at endReadableNT (_stream_readable.js:1187:12) at processTicksAndRejections (internal/process/task_queues.js:84:21)
该报错本质是turtle-cli调用Expo服务端接口时,请求内容不符合服务端要求触发的400状态码,按以下步骤逐一排查即可解决:
- 校验账号会话状态:执行
expo whoami确认当前已登录有效Expo账号,未登录或会话过期的情况下执行expo login重新完成账号授权。 - 检查应用配置合法性:核对
app.json/app.config.js内的配置项,重点确认sdkVersion、bundleIdentifier(iOS)、packageName(Android)字段格式符合规范,无特殊字符、版本号不存在格式错误,且SDK版本和当前使用的turtle-cli版本兼容。 - 验证构建参数有效性:如果使用
turtle-cli手动触发构建,确认传入的--type、--release-channel、--platform等参数无拼写错误,发布通道名称不包含违规特殊字符、长度符合要求。 - 升级工具版本:当前报错来自旧版本axios依赖,执行
npm update -g turtle-cli升级到最新版turtle-cli,同时将本地expo-cli升级到对应匹配版本,消除依赖版本不兼容导致的请求格式异常问题。
内容的提问来源于stack exchange,提问作者Maverick
相关产品推荐
相关产品推荐

