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

安装firebase/storage-resize-images@0.2.6后部署失败求助

解决Firebase Storage Resize Images扩展部署及IAM权限问题

问题描述

我通过命令行安装firebase/storage-resize-images@0.2.6:

firebase ext:install firebase/storage-resize-images@0.2.6

安装过程无报错,生成了extensions/storage-resize-images.env文件,日志显示已启用cloudtasks.googleapis.com、storage-component.googleapis.com API,并授予Cloud Tasks Enqueuer、Storage Admin角色。

执行部署命令:

firebase deploy --only extensions

时收到错误,提示Firebase Storage未设置,但我的Firebase Storage已启用并正在使用。

在控制台安装该扩展时,还会遇到IAM相关错误,提示无法访问服务账号projects/-/serviceAccounts/117789708590500044065,已尝试启用所有可能权限仍无法部署。

可能的解决方法

1. 核对存储桶配置

  • 打开extensions/storage-resize-images.env文件,确认STORAGE_BUCKET变量值是你的Firebase Storage存储桶完整名称(例如your-project-id.appspot.com)。如果该变量缺失或值错误,部署时会触发"Storage未设置"的误判。
  • 执行firebase apps:sdkconfig命令,对比输出里的storageBucket字段,确保和.env文件中的值完全一致。

2. 修复服务账号异常

  • 错误里的服务账号格式projects/-/serviceAccounts/...明显异常,这是项目ID未正确关联导致的。先执行firebase projects:list确认当前可用项目,再用firebase use <你的项目ID>切换到正确项目。
  • 去Google Cloud控制台的IAM页面,搜索服务账号ID117789708590500044065,确认它属于当前Firebase项目。如果找不到,说明扩展安装时服务账号创建失败,先执行firebase ext:uninstall storage-resize-images删除扩展,再重新安装,安装过程中务必选对项目。
  • 给该服务账号手动添加以下权限:
    • Cloud Tasks Enqueuer(roles/cloudtasks.enqueuer)
    • Storage Admin(roles/storage.admin)
    • Service Account User(roles/iam.serviceAccountUser)—— 这个权限容易被忽略,是服务账号调用其他Google服务的必要前提。

3. 确认API启用状态

  • 进入Google Cloud控制台的API库,检查Cloud Tasks API、Cloud Storage API、Firebase Extensions API是否都已启用,且归属当前Firebase项目。
  • 执行firebase use命令,确认CLI当前指向的项目和你要部署的项目一致,避免因项目上下文混乱导致的配置不匹配。

4. 升级扩展版本

  • 你安装的0.2.6版本属于旧版本,存在已知的配置检测和IAM权限兼容问题。尝试安装最新稳定版本:
firebase ext:install firebase/storage-resize-images@latest

新版本通常修复了这类遗留bug。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 00:12:38