aws-amplify执行amplify push时报DeploymentBucketName未定义错误
错误根因
Cannot read property 'DeploymentBucketName' of undefined 报错本质是本地 Amplify 项目的amplify/.config/team-provider-info.json配置文件损坏,你使用的prototype环境对应的云端资源元数据缺失,CLI无法读取部署桶参数触发错误,连带所有需要对接云端资源的Amplify命令都会触发同类报错。
修复步骤
- 先打开本地项目根目录下的
amplify/.config/team-provider-info.json文件,定位到prototype环境的配置块 - 若该配置块下的
awscloudformation字段为空或者丢失DeploymentBucketName属性,优先找该文件的历史版本覆盖恢复,修复后可直接执行amplify env checkout prototype验证命令是否恢复正常 - 无备份的情况下,登录AWS控制台进入S3服务,查找命名格式为
amplify-<你的项目名>-prototype-<随机后缀>-deployment的存储桶,记录完整桶名 - 回到
team-provider-info.json文件,在prototype环境的awscloudformation配置块中补充如下字段,同时核对Region、StackName参数与云端实际配置一致:
"DeploymentBucketName": "你刚才记录的S3桶名"
- 配置修改完成后执行
amplify env checkout prototype重载环境配置,后续所有amplify push/pull/delete命令均可正常运行 - 若上述操作无效,备份本地自定义的Amplify资源配置(如Lambda函数、GraphQL resolver规则等)后删除本地
amplify文件夹,执行amplify init选择关联已有的云端项目和prototype环境,重新拉取全量配置即可
内容的提问来源于stack exchange,提问作者Moritz Hollenbeck
相关产品推荐
相关产品推荐

